jenkins 自由风格 如何实现jar包回滚操作。A节点是jenkins部署的节点并且这个节点上也有要发布的jar服务同一内网其他3个节点也有其他服务的jar包需要发布。请给出方案
实现jar包回滚操作需要以下步骤:
-
在A节点上创建一个备份目录用于存放旧版本的jar包,例如:/opt/backups/
-
在Jenkins上创建一个自由风格的项目,配置源码管理,构建触发器和构建步骤。
-
在构建步骤中添加以下脚本:
#!/bin/bash
# 备份旧版本的jar包
cp /opt/app/*.jar /opt/backups/
# 停止服务
systemctl stop app.service
# 删除旧版本的jar包
rm -rf /opt/app/*.jar
# 将新版本的jar包拷贝到目标文件夹
cp target/*.jar /opt/app/
# 启动服务
systemctl start app.service
- 在构建步骤中添加以下参数化构建选项:
- 版本号:用于指定要发布的jar包的版本号。
- 是否回滚:用于指定是否回滚到旧版本的jar包。
- 在构建步骤中添加判断逻辑,如果选择回滚,则执行以下脚本:
#!/bin/bash
# 停止服务
systemctl stop app.service
# 删除新版本的jar包
rm -rf /opt/app/*.jar
# 将旧版本的jar包拷贝回目标文件夹
cp /opt/backups/*.jar /opt/app/
# 启动服务
systemctl start app.service
-
在Jenkins上配置构建后操作,将构建产生的jar包上传到内网其他节点的目标文件夹中。
-
在内网其他节点上配置服务启动脚本,用于启动对应的jar包。
通过以上步骤,就可以实现在A节点上发布、回滚jar包,同时将最新版的jar包同步到其他节点上。
原文地址: https://www.cveoy.top/t/topic/bYz1 著作权归作者所有。请勿转载和采集!