jenkins部署后的操作将jar传入目标服务器并且运行jar包
找到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文件。
至此我们就配置好了希望给到大家帮助