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

相关文章
|
10月前
|
消息中间件 存储 数据可视化
云工作流 CloudFlow 重磅发布,流程式开发让云上应用构建更简单
云工作流 CloudFlow 重磅发布,流程式开发让云上应用构建更简单
|
2月前
|
人工智能 数据可视化 开发者
快速部署 Dify 社区版
使用计算巢快速部署 Dify 社区版
快速部署 Dify 社区版
|
4月前
|
Java 关系型数据库 MySQL
部署和发布
部署和发布
32 0
|
4月前
|
运维 监控 安全
全新的应用交付和部署工具
计算巢,一款全新的应用交付和部署工具,旨在让应用交付和部署变得更加高效便捷。在传统的应用部署模式下
44 1
|
关系型数据库 MySQL Java
快速部署框架
快速部署框架
71 0
|
存储 Prometheus Kubernetes
分布式应用打包交付运行的解决方案sealer
通过把分布式应用及其数据库中间件等依赖一起打包以解决复杂应用的交付问题。
|
存储 Kubernetes Ubuntu
构建镜像开源工具 buildah
构建镜像开源工具 buildah
构建镜像开源工具 buildah
|
运维 Cloud Native API
KubeVela 插件指南:轻松扩展你的平台专属能力
本文作者为 KubeVela 社区贡献者 姜洪烨。 我在原文基础上做了适量修改。KubeVela 插件(addon)可以方便地扩展 KubeVela 的能力。正如我们所知,KubeVela 是一个微内核高度可扩展的平台,用户可以通过 模块定义(Definition)扩展 KubeVela 的系统能力,而 KubeVela 插件正是方便将这些自定义扩展及其依赖打包并分发的核心功能。不仅如此,Kube
KubeVela 插件指南:轻松扩展你的平台专属能力
|
Linux Go iOS开发
构建多架构镜像的最佳实践
如今,Docker 容器镜像可以支持多种架构/平台,多架构镜像的构建已经成为了必备技能。
1442 2
构建多架构镜像的最佳实践
|
Devops 持续交付 容器
RDC容器构建和部署服务新功能上线
通过RDC和容器服务的集成,很好的解决了从代码提交到发布上线,及多环境流水线部署等问题