Jenkins搭建SpringCloud分体项目
之前使用Jenkins搭建单体项目,直接使用Maven打包上传即可,但是SpringCloud分布式搭建的话,使用多台服务器(多个节点)进行搭建如何搭建呢,接下来我们看步骤
Jenkins中添加服务器节点(按照我的方法的话,节点可配可不配)
找到自己相对应的系统命令,复制粘贴到相应系统中运行(温馨提示,命令前缀最好加上nohup 后台运行)
运行完后就会发现节点上的叉号没有了,系统节点创建成功了
Jenkins中新建一个item
按照以上步骤创建一个新的工程
在这里一开始我选择的②发送文件至远程SSH服务器,节点配置就是使用第二的方法时配置的。但是文件始终发送不过去,尝试了好多种方法,最后放弃了,选择的①,后面如果发现②的问题后会再进行补充
现在说一下①的方法
cd /var/lib/jenkins/workspace/path/
ls
# 压缩打包后的项目
flock -n test tar -czvf test.tar.gz test
# 判断项目是否存在
if [ -f "/var/lib/jenkins/workspace/path/test.tar.gz" ]; then
echo "File exists."
else
echo "File does not exist."
exit 1
fi
ls -l /var/lib/jenkins/workspace/path/test.tar.gz
# 手动远程传输 sshpass这个命令需要安装,百度一搜有很多,就不进行赘述了
# 发送打包后的项目到节点目录中 多台服务器就发送多台
sshpass -p 'your_password' scp -v /var/lib/jenkins/workspace/path/test.tar.gz username@ip:/home/admin/app/workspace/cesgu/
# 远程执行命令,这里我把在其他服务器节点需要执行的命令都写入到了start.sh中
sshpass -p 'your_password' ssh username@ip '/home/admin/app/workspace/cesgu/start.sh'
以上代码可以把压缩后的文件手动发送至各个相应的服务器节点,然后在服务器中解压并移动解压后的jar至相应的target目录中,然后重启项目,后面的逻辑都是写在start.sh文件中,远程执行文件
然后保存就好了
当然,这个部署方法仅仅只是记录一下,不存在任何误导的想法,如果各位大佬有其他办法的话,欢迎指正