1.在已经配置好的jenkins下,进入系统管理-》系统设置-》publish over SSH添加新的目标服务器,可以通过用户名密码或者公匙的方式进行配置
2.在GitHub project那里填写你的项目访问路径,类似于:http://xxx,在源码管理Git上填写项目地址,类似于git@code.xxx.git,如果一个文件夹下有多个项目,打包的时候肯定是想打其中某一个项目的包,可以在Additional Behaviours选择 Spare Checkout paths里面填写具体的项目名称。
3.在构建后操作里面Send build artifacts over SSH里面填写发布的脚本
比如在/home里面新建发布脚本,deploy.sh.发布远程机器,比如jenkins在192.168.29.10上,现在想打包完成后发布到192.168.29.11上,可以参照如下脚本进行填写
#!/bin/sh
#defined
echo "<---------------------------------mv jar start ----------------------------------->"
scp root@192.168.29.10:/var/lib/jenkins/workspace/test/target/test-0.0.1-SNAPSHOT.jar /home/message/test.jar
echo "<---------------------------------mv jar success----------------------------------->"
PID=`ps -ef | grep 'java -jar /home/message/test.jar' | grep -v 'grep' | awk '{print $2}'`
echo " pId list :$PID"
if [ "$PID" = "" ]
then
echo "No eureka pid alive!"
else
{
kill -9 $PID
echo "KILL $PID:"
echo "Service stop success!"
}
fi
nohup java -jar /home/message/test.jar >/home/message/test.log 2>&1 &
在jenkins发布时,会长时间进行等待,超过120000后会断开连接提示出错,为了避免这种情况
/home/deploy.sh & sleep 15