Jenkins+Maven打成jar包,并执行

Jenkins+Maven打成jar包,并执行_第1张图片

说明:
Source files:Source files的目录是基于当前job的目录(可以从jenkins的安装目录下找到):例如当前job名称为people-info-server,则对于root用户,Source files中的目录是相对于/var/jenkins_home/workspace/people-info-server目录下的,因此,如果我们要发送people-info-server下的xx项目的jar包,这里需要填写:xx/target/xx-0.0.1.SNAPSHOT.jar


Remove prefix:表示需要移除的目录,比如这里填写xx/target,则表示发布时,只把xx-0.0.1.SNAPSHOT.jar发布到远程linux,而不包含xx/target目录结构


Remote directory:表示需要把编译好的war包发布到远程linux的哪个目录下


Exec command:需要执行的shell命令,shell命令在远程linux服务器上.

注意: 
job名称不能和项目名称相同,否则上传不了 

附上shell脚本(Post Steps – SSH Publishers–Transfers–Exec command): 

echo "hello address-distribution-1.0.0.jar"

DAY=`date +%Y-%m-%d`

pid=`ps -ef|grep address-distribution-1.0.0|grep -v grep|awk '{print $2}'`

if [ -n "$pid" ]
then
echo 'The pid: server' $pid ' will be killed....'
kill -9 $pid
echo 'The pid: server' $pid ' will be start'
cp /home/warehousecloud/.jenkins/workspace/zjs-dzfd-web/target/address-distribution-1.0.0.jar /data/sonar-jenkins/test-jar
echo 'copy /home/warehousecloud/.jenkins/workspace/zjs-dzfd-web/target/address-distribution-1.0.0.jar  to  /data/sonar-jenkins/test-jar '
nohup java -jar /data/sonar-jenkins/test-jar/address-distribution-1.0.0.jar >  /dev/null & 
else
echo 'The pid: server' $pid ' not exist , will be start'
nohup java -jar /data/sonar-jenkins/test-jar/address-distribution-1.0.0.jar >  /dev/null &
fi
echo 'The pid: server' $pid ' started'

成功界面:

Jenkins+Maven打成jar包,并执行_第2张图片

你可能感兴趣的:(jenkins)