如何使用 Jenkins 快速设计多环境、多项目持续集成环境!(下)

一键回滚job设计

       实现思路:在”一键发布”时,将发布记录存到文件中,存储key为:p_app_key#2019-1219-1503。执行回滚时,选择要回滚的历史项目,先解析出p_app_key再获取项目配置信息,再回滚此项目的特定历史版本。顺序:解析项目信息>>回滚到Temp文件夹>>回滚到部署目录。

设计的输入参数如图:

 

/uploads/article/20200630/2cc39601ce227b3c99d5778e302c732a.png

 

参数名

类型

默认值

说明

p_history_item

下拉单选

 

每一次”一键发布”成功,都会生成一个对应的历史记录

p_restart_daemon_process

Bool

True

是否重启守护进程(如果是IIS,勾选则重启应用程序池,不勾选则回收应用程序池) 为避免文件被占用,回滚失败,所以这里默认勾选。

p_remark      

String

 

备注信息

 

简易多环境CICD流程

       一般软件公司对于软件的开发、测试、发布都有好几个环境,所以针对各个环境都会有对应的CICD流程,这边设计了一个简易的多环境CICD流程图,如下: (在线画图工具:processon.com

 

/uploads/article/20200630/0892738d3407229f9fe2daed3f249c6a.jpg

       自动触发CICD还是手动触发CICD???我认为:

      开发环境采用手动触发:因为对于开发环境,提交代码比较频繁,而且有时候提交到git也并不想触发CICD。可以采取每晚定时自动触发CICD,便于异常代码及时抛出

      测试环境采用自动触发:因为测试代码的 git 分支合并是有条件限制的,合并频率比较少

      生产环境采用手动触发:因为生产环境的发布比较复杂,合并分支后是不能直接自动触发CICD的。比如有严控发布时间、负载隔离(蓝绿部署)等要求,所以手动触发控制力强

 

作者:滴答的雨
出处:http://www.cnblogs.com/heyuquan/

0 个评论

要回复文章请先登录注册