场景
docker-compose入门以及部署SpringBoot+Vue+Redis+Mysql(前后端分离项目)以若依前后端分离版为例:
docker-compose入门以及部署SpringBoot+Vue+Redis+Mysql(前后端分离项目)以若依前后端分离版为例_霸道流氓气质的博客-CSDN博客
在上面使用docker-compose编排的java服务,如果要更新jar包时
需要停掉java服务,并替换jar包,然后再启动java服务。
如果是结合jenkins构建的jar包并通过ssh上传至服务器之后,如果通过命令实现
原jar包备份、新jar包替换、docker-compose编排的服务重启。
Docker+Jenkins+Gitee+Maven构建后台jar包后配置SSH传送到服务器并执行指定命令:
Docker+Jenkins+Gitee+Maven构建后台jar包后配置SSH传送到服务器并执行指定命令_霸道流氓气质的博客-CSDN博客
上面已经将构建的jar包通过ssh上传到服务器,并且简单执行了一个输出命令。
注:
博客:
霸道流氓气质的博客_CSDN博客-C#,架构之路,SpringBoot领域博主
实现
1、在任务-配置-Post Steps中修改要执行的Exec command的内容。
如何确定命令执行没问题。
可以先在服务器上逐行执行需要的命令,确保每一步没有问题之后,将完整命令填到此处。
2、示例命令内容如下
echo "进入/home/fzysShow/java目录,并备份原jar包"
cd /home/fzysShow/java
sudo tar -cvf ./bak/fzysShow-$(date '+%Y%m%d%H%M%S').tar fzys.jar
echo "停止docker-compose的java服务"
cd /home/fzysShow
sudo docker-compose stop java
echo "删除原docker-compose的jar包"
sudo rm -rf ./java/fzys.jar
echo "替换新jar包"
sudo mv /home/iunisjzx/ruoyi-admin.jar /home/fzysShow/java/fzys.jar
echo "启动新jar包"
sudo docker-compose start java
echo "jar包更新成功"
注意:
这里通过jenkins构建的jar包的路径为/home/iunisjzx/ruoyi-admin.jar
docker-compose.yml所在的路径为/home/fzysShow
编排的jar包在此路径下java目录。
上面的命令首先将原jar包进行备份,并添加时间戳命名。
然后停止原java服务,删除原jar包,移动构建后的jar包到java服务所在路径。
然后启动java服务。
3、命令逐条执行没有问题后,保存并重新构建。
构建日志输出正常,无报错。
相应目录下jar包备份也已经实现。