天天看点

jenkins结合ansible用shell实现自动化部署和回滚

  最近用jenkins+gitlab+ansible做持续化集成,自动化部署和版本回滚。然而deploy plugin没能做到增量升级和回滚操作,折腾了很久决定自己写个脚本来简单实现。

  环境:

  各工具职能:

  1、gitlab做版本管理

  2、jenkins根据指定参数,分别执行部署或回滚操作;以及执行结果的展现和记录。

  3、ansible负责脚本的远程执行。

  以下的所有操作都是在上述条件安装完成且可用的前提下进行。

  部署脚本:

  版本回滚脚本:

  jenkins配置:添加一个可选参数

  This build is parameterized --> Choice Parameter

  变量名为:

  变量值:

  

jenkins结合ansible用shell实现自动化部署和回滚

  执行脚本:

jenkins结合ansible用shell实现自动化部署和回滚

  最后执行

jenkins结合ansible用shell实现自动化部署和回滚

  执行回滚操作的输出日志

  这里只是简单地实现了自动化部署和回滚操作,如果做得更智能的话,结合数据库可以做成回滚到某个版本等。 

继续阅读