war包回滚思路
发布期间
- 对正在提供服务的war包在同目录下,重命名为xxx.warbak
- 并且对该war归档到指定目录
回滚期间
- 将同目录下war的备份文件还原成xxx.war
用到的组件如下:
- Customized Build Message Plugin(build后可以看到备注等自动传入的信息)
- Build With Parameters (build的时候选填参数)
- Git Parameter Plug-In (选择分支,tag等)
- Publish Over SSH (通过ssh方式发包)
配置介绍
- 每个publish over ssh的对象都存在两种情况,发布(deploy)和回滚(rollback),所以需要对一个机器创建两个状态。
- 根据build的时候传入的参数,deploy还是rollback,选择对应的行为。
配置截图
图小新开一个浏览器页面看
部分代码:
- 部署
1 | [ -d "/opt/${tomcat_dir}/war" ] && echo 'back dir is exist' || mkdir -p /opt/${tomcat_dir}/war; |
- 回滚
1 | ps -ef | grep ${tomcat_dir} | grep -vP "cronolog|grep" | awk '{print $2}' | xargs -I {} kill {}; |
存在问题
- 由于采用的是maven项目,所以不论发布还是回滚都是会进行war包的build,其实在回滚的时候是不需要进行war包的build的。
refer: