编写基于docker自动化项目部署脚本

每次打包上线过于麻烦,Jenkins又太慢(不清楚具体原因),所以自己搞了个脚本用于快速部署吧,通过alibaba cloud toolkit

插件安装过于简单就不提了,这里主要记录一下脚本的编写和插件的使用

  • 工具-->Alibaba Cloud-->Deploy to Host

  • Deployment标签内执行前添加maven命令,自动生成的即可

  • After Deploy中填写自动部署脚本,需要创建2个脚本,并设置两个脚本的权限chmod

1
2
3
4
5
6
7
8
# fabu.sh 第一个是将jar包上传到服务器,并拷贝到容器中去
source /etc/profile
cd /home/java-test
# 这里假设不是root权限 使用echo 密码 | sudo -S 的命令去编写脚本
echo XXX | sudo -S docker restart es-search
echo XXX | sudo -S docker cp /home/java-test/yivls-sharding-0.0.1-SNAPSHOT.jar es-search:/app/java
echo XXX | sudo -S docker cp /home/java-test/into.sh es-search:/app/java
sudo docker exec -d es-search /bin/bash -c '/app/java/into.sh'
1
2
3
# into.sh 这个是docker exec后的处理脚本
cd app/java/
nohup java -jar yivls-sharding-0.0.1-SNAPSHOT.jar --server.port=10101 > nohup.out 2>&1 &
  • 自动日志查看

这里建议使用root权限,如果是其他权限的话docker 日志无法同步查看,需要手动执行命令

切换到Advanced标签,勾选Automatic open after deploy,输入命令

1
2
3
docker exec -it es-search /bin/bash
cd app/java/
tail -f nohup.out -n 1000
赏个🍗吧
0%