快速部署-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

相关文章
|
5月前
|
消息中间件 存储 数据可视化
云工作流 CloudFlow 重磅发布,流程式开发让云上应用构建更简单
云工作流 CloudFlow 重磅发布,流程式开发让云上应用构建更简单
|
缓存 弹性计算 Kubernetes
在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)
关注“阿里巴巴云原生”公众号,后台回复 “ 416 ” 即可下载 PPT。
在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)
|
24天前
|
运维 Kubernetes 测试技术
构建高效自动化运维系统:基于容器技术的持续集成与持续部署(CI/CD)实践
【4月更文挑战第2天】 在快速发展的信息技术时代,自动化运维已成为提升企业IT效率、保障系统稳定性的关键手段。本文以容器技术为核心,探讨了如何构建一个高效的自动化运维系统,实现软件的持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)。通过深入分析Docker容器及Kubernetes集群管理工具的运用,提出了一套切实可行的CI/CD流程方案,旨在帮助读者理解并实践自动化运维的最佳实践,进而推动企业运维管理的现代化进程。
|
6月前
|
运维 Kubernetes jenkins
【Kubernetes测试生产环境整体部署及全链路测试、自动化运维平台Jenkins与Devops环境搭建】
【Kubernetes测试生产环境整体部署及全链路测试、自动化运维平台Jenkins与Devops环境搭建】
221 0
|
10月前
|
关系型数据库 MySQL Java
快速部署框架
快速部署框架
56 0
|
安全 Cloud Native Java
让业务容器化更安全便捷,阿里云容器镜像服务 ACR 推出免费制品中心
让业务容器化更安全便捷,阿里云容器镜像服务 ACR 推出免费制品中心
让业务容器化更安全便捷,阿里云容器镜像服务 ACR 推出免费制品中心
|
Linux 持续交付 文件存储
阿里云支持SAP自动化部署
阿里云通过ROS技术能够自动化部署SAP,这在全球云市场都是领先的。
|
运维 Kubernetes Cloud Native
KubeVela 1.3 发布:开箱即用的可视化应用交付平台,引入插件生态、权限认证、版本化等企业级新特性
得益于 KubeVela 社区上百位开发者的参与和 30 多位核心贡献者的 500 多次代码提交, KubeVela 1.3 版本正式发布。相较于三个月前发布的 v1.2 版本[1],新版本在 OAM 核心引擎(Vela Core),可视化应用交付平台 (VelaUX) 和社区插件生态这三方面都给出了大量新特性。
KubeVela 1.3 发布:开箱即用的可视化应用交付平台,引入插件生态、权限认证、版本化等企业级新特性
|
Kubernetes 安全 容器
KubeVela v1.3 多集群初体验,轻松管理应用分发和差异化配置
KubeVela v1.3 在之前的多集群功能上进行了迭代,本文将为你揭示,如何使用 KubeVela 进行多集群应用的部署与管理,实现以上的业务需求。
|
Devops 持续交付 容器
RDC容器构建和部署服务新功能上线
通过RDC和容器服务的集成,很好的解决了从代码提交到发布上线,及多环境流水线部署等问题