jenkins部署后的操作将jar传入目标服务器并且运行jar包

avatar
作者
筋斗云
阅读量:1

找到SSH Servers

 连接完服务器后选中自己的哪个名字todoList

Transfer Set Source files是自己的工作空间 **/target/**.jar是我们要传到服务器上的jar包

 Remote directory是传到服务器的哪个文件夹下面 文件夹要提前建立好在对应服务器里面

 

 Exec command 调用并执行命令

cd /home/zhangyangjar 先进入对应文件夹

 sh move.sh执行这个脚本脚本内容如下

 

source /etc/profile加载环境变量 ---因为远程执行脚本不会自动加载环境变量如果不加会报错java找不到但是咱们却有这个环境

mv /home/zhangyang/target/*.jar /home/zhangyangjar/ 咱们上传的时候上传jar包到/home/zhangyang/target/ 现在将其移动到/home/zhangyangjar下

rm -rf /home/zhangyang/target/ 移动完jar包将target目录删除 因为在下次构建还会自动生成

sh /home/zhangyangjar/deploy-openapi.sh 然后执行zhangyangjar下面的另一个脚本

 deploy-openapi.sh脚本内容如下

 

 pid1=`ps -ef | grep /home/zhangyangjar/Pending-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid1" ]
then
   echo "kill -9 的pid:" $pid1
   kill -9 $pid1
fi

这段代码的含义是查找进程名字为Pending-0.0.1-SNAPSHOT.jar的进程id如果存在将这个进程kill因为不这样做的的话再次进行构建的时候会报错端口冲突

用jps查看进程

 source /etc/profile 上述提到了这里不加也可以的

nohup java -jar  /home/zhangyangjar/Pending**.jar >/dev/null 2>./todo.log  &

在后台启动一个新的Java进程,运行指定的JAR文件,并将输出重定向到/dev/null,错误输出重定向到./todo.log文件。

至此我们就配置好了希望给到大家帮助

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!