github+jenkins+maven+docker自动化构建部署

37 篇文章 0 订阅
8 篇文章 0 订阅

本地编译

流程图

在这里插入图片描述

具体流程

1 开发push时触发
2 Github-webhooks触发jenkins
3 Jenkins compile and build
3.1 Sh -ex Prera Maven builder java Shell (builder 前的shell)
3.2 Maven builder java
3.3 Sh -ex Maven builder java after shell (builder 后的shell)
3.4 Maven Deploy war/ear to a container 发送到其他的tomcat(热部署)
3.5 Send build artifacts over SSH 登陆到指定的liunx上执行shell
3.5.1 登陆到ssh
3.5.2 Cd 到指定目录
3.5.3 从jenkins服务器中下载源文件到ssh中
3.5.4 执行shell (必须在ssh中存在的*.sh)
3.5.4.1 Docker rmi -f :
3.5.4.2 Shell中通过Dockerfile builder images
3.5.4.3 Docker tag
3.5.4.4 Docker push
3.5.4.5 Docker run
3.5.4.6 Curl 其他ssh 执行 docker pull | run
3.6 Send build artifacts over SSH 登陆到集群的liunx上执行shell
3.6.1 Docker rmi
3.6.2 Docker pull
3.6.3 Docker run
4 Java项目初始化的时候,发邮件,通知tester。

dockerHub编译(有空再试)

原理

利用dockerHub可以关联github自动构建,来减掉本地docker编译和push的时间,注意dockerHub是异步的

流程图

具体流程

  1. 开发push时触发
  2. Github-webhooks触发jenkins
  3. Jenkins compile and build
    i. Maven builder java
    ii. builder 后的shell == 把war推到github上
  4. git publisher 创建tag
  5. github-webhooks在tag时触发自动构建
  6. 利用dockerHub-webhooks触发jenkins其他集群配置利用ssh docker rmi && pull && run (不要使用ssh到其他直接docker,异步可能出现那边还在builder中,pull下来老images,缓存问题,所以不管是单机的还是集群都不要这样使用,单机的就用本地编译再push吧)

参考资料

  • Jenkins内置环境变量的使用 - 贺满 - 博客园
  • Jenkins进阶-发布后自动创建git tag(5) - 梦雨情殇 - 博客园
  • github+jenkins+maven+docker自动化构建部署 - 张晨雪的博客 - CSDN博客
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值