快速部署-02-构建发布

简介: 使用Jenkins构建应用并构建docker镜像发布到自己阿里云镜像仓库

jenkins

传统的我们在发布应用或者升级的时候都是把war包放到对应tomcat目录下或者替换class但是这样极容易出错,由此我们将使用jenkins+docker来解决此问题

部署jenkins

# 若目录不一样自行变更
mkdir -p /data/jenkins
# 目录附权限
chown -R 1000:1000 /data/jenkins
# 启动jenkis
# jenkins定制dockerfile https://github.com/duanzonglong/docker-jenkins-gradle.git
docker run -d --restart=always --name jenkins -e TZ=Asia/Shanghai  -v /data/jenkins:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --privileged=true -p 8080:8080 duanzonglong/docker-jenkins-gradle:lst
#若推送镜像时提示Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
chmod 777 /var/run/docker.sock

特别说明此镜像中已经安装了maven docker gradle node cnpm等工具因此不需要在jenkins做单独配置

jenkins构建项目

这里我们演示使用开源的springcloud框架cloud-admin项目演示打包发布的整套流程
具体项目需要做些调整请参考cloudadmin
image
添加构建脚本
image
执行完成后在服务器中查询生成的镜像
image

镜像推送阿里仓库

首先申请自己的阿里云镜像仓库申请地址

  • 创建自己的命名空间
  • 创建仓库

先手动推送镜像到自己的仓库

#登录仓库
docker login --username=xxx(自己的账号) registry.cn-hangzhou.aliyuncs.com

docker tag ag/ace-center:latest registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-center:latest
docker push registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-center:latest
docker rmi ag/ace-center:latest
docker rmi registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-center:latest

docker tag ag/ace-auth:latest registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-auth:latest
docker push registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-auth:latest
docker rmi ag/ace-auth:latest
docker rmi registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-auth:latest


docker tag ag/ace-gate:latest registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-gate:latest
docker push registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-gate:latest
docker rmi ag/ace-gate:latest
docker rmi registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-gate:latest

docker tag ag/ace-admin:latest registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-admin:latest
docker push registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-admin:latest
docker rmi ag/ace-admin:latest
docker rmi registry.cn-hangzhou.aliyuncs.com/cloud-admin/ace-admin:latest

请将cloud-admin替换为自己的命名空间
如果是在阿里云服务器上构建可以将镜像地址换成内网registry-internal.cn-hangzhou.aliyuncs.com

rancher

镜像构建出来后,如何发布到生产环境或者测试环境可以选用docker相关的管理工具,这里我们选用rancher
部署命令

## 单机安装 若需要支持高可用请参考rancher官网
docker run -d -v /data/rancher/mysql:/var/lib/mysql --restart=unless-stopped -p 8080:8080 rancher/server

添加主机节点
image

相关文章
|
9天前
|
存储 运维 Kubernetes
构建高效稳定的容器化运维环境:Docker与Kubernetes的协同
【4月更文挑战第14天】 在当今快速发展的云计算时代,容器技术以其轻量级、快速部署和易于管理的优势,成为现代应用交付的标准。本文将深入探讨如何通过Docker和Kubernetes的整合使用来构建一个高效且稳定的容器化运维环境。我们将分析Docker容器的基本概念,探索Kubernetes在容器编排方面的强大能力,以及两者结合所带来的益处。文章还将讨论在实际部署中可能遇到的挑战,并提出相应的解决方案。
|
19天前
|
运维 Kubernetes 监控
构建高效自动化运维系统:基于容器技术的持续集成与部署策略
【4月更文挑战第4天】在数字化转型的浪潮中,企业对于软件交付的速度和质量要求越来越高。传统的运维模式已无法满足敏捷开发和快速迭代的需求。本文旨在探讨如何利用容器技术构建一个高效的自动化运维系统,实现软件开发生命周期中的持续集成(CI)与持续部署(CD)。通过分析容器技术的核心优势,结合DevOps文化和微服务架构,我们提出了一套系统的构建策略和实践步骤。文章将详细阐述从环境搭建到流程优化的全过程,以及在此过程中可能遇到的挑战和解决方案,为运维专业人员提供参考和指导。
|
21天前
|
运维 Kubernetes 测试技术
构建高效自动化运维系统:基于容器技术的持续集成与持续部署(CI/CD)实践
【4月更文挑战第2天】 在快速发展的信息技术时代,自动化运维已成为提升企业IT效率、保障系统稳定性的关键手段。本文以容器技术为核心,探讨了如何构建一个高效的自动化运维系统,实现软件的持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)。通过深入分析Docker容器及Kubernetes集群管理工具的运用,提出了一套切实可行的CI/CD流程方案,旨在帮助读者理解并实践自动化运维的最佳实践,进而推动企业运维管理的现代化进程。
|
1月前
|
运维 监控 Devops
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
在数字化转型的浪潮中,企业的IT基础设施和软件交付模式正经历着深刻的变革。传统的运维方式已难以满足快速迭代、灵活扩展的现代业务需求。本文将探讨如何通过容器技术实现高效的自动化运维体系,重点分析持续集成(CI)与持续部署(CD)的实践方法及其对企业运维效率的影响。通过引入微服务架构、容器编排、DevOps文化等概念,我们旨在为读者提供一套全面的自动化运维解决方案,以支持业务的敏捷性和可扩展性。
|
3月前
|
运维 监控 安全
全新的应用交付和部署工具
计算巢,一款全新的应用交付和部署工具,旨在让应用交付和部署变得更加高效便捷。在传统的应用部署模式下
22 1
|
6月前
|
运维 Kubernetes jenkins
【Kubernetes测试生产环境整体部署及全链路测试、自动化运维平台Jenkins与Devops环境搭建】
【Kubernetes测试生产环境整体部署及全链路测试、自动化运维平台Jenkins与Devops环境搭建】
221 0
|
10月前
|
关系型数据库 MySQL Java
快速部署框架
快速部署框架
56 0
|
Kubernetes 安全 容器
KubeVela v1.3 多集群初体验,轻松管理应用分发和差异化配置
KubeVela v1.3 在之前的多集群功能上进行了迭代,本文将为你揭示,如何使用 KubeVela 进行多集群应用的部署与管理,实现以上的业务需求。
|
Devops 持续交付 容器
RDC容器构建和部署服务新功能上线
通过RDC和容器服务的集成,很好的解决了从代码提交到发布上线,及多环境流水线部署等问题
|
Linux Go iOS开发
构建多架构镜像的最佳实践
如今,Docker 容器镜像可以支持多种架构/平台,多架构镜像的构建已经成为了必备技能。
1203 2
构建多架构镜像的最佳实践