[Jenkins1]-Jenkins上线流程

简述

将一个项目的全部流程分为三个阶段”CREATE(创建)”,”UPLOAD(更新)”,”ROLLBACK(回滚)”

一.CREATE(创建)与UPLOAD(更新)

思路:

(1)    先启动一个jenkins-slave的基础上,下拉代码;
(2)    将target下面项目的war包放到jenkins-slave的${WORKSPACE}/ROOT进行解压;
(3)    再进行不同项目的特殊处理,覆盖idc_conf文件等;
(4)    编写Dockerfile将生成后的ROOT目录放入到tomcat基础镜像中的/usr/local/tomcat/webapps/ROOT路径;
        Dockerfile模板(注:这里的Dockerfile路径是与上面打包ROOT路径为同级路径):
               From linuxwei/jdk_tomcat:7.0.104-jdk8-adoptopenjdk-openj9
               ADD ROOT /usr/local/tomcat/webapps/ROOT
               CMD ["catalina.sh", "run"]

(5)    根据项目名称以及日期构建镜像以及推送镜像,里面变量为Jenkins配置变量
         docker login --username=xxxxxxxxx ccr.ccs.tencentyun.com --password xxxxxx
         docker build -t ccr.ccs.tencentyun.com/***/${jobs_name}-online:${image_version} ${WORKSPACE}
         docker push ccr.ccs.tencentyun.com/ywf-online/${jobs_name}-online:${image_version}

(6)    CREATE通过Python脚本生成定制YAML文件,再用kubectl命令apply,从而生成Deployment与Service
               脚本名称:create_deployment_yaml.py
         UPLOAD通过Python脚本将通过kubectl命令拉去最新Deployment的yaml文件进行修改image后再apply;
               脚本名称:jenkins_upload.py
(7)    跑Python脚本生成一个存储腾讯云镜像仓库下该项目现存的image_tags为ROLLBACK做前期工作
               脚本名称:get_image_tags.py

详细配置

二.ROLLBACK(回滚)

思路:

  1. Jenkins插件ExtendedChoiceParameter,以上面的UPLOAD与ROLLBACK每次构建生成的腾讯镜像仓库标签为参数;
  2. 将接收到的参数转为变量,用kubectl set image deployment/…来更新镜像,实现Jenkins选项参数达到可控回滚

详细配置

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值