前面已经完成了jenkins的部署和设置,我们现在来创建一些目录,存放脚本,用于运行的进程的停止和重启
mkdir /ci.scripts
cd /ci.scripts
vim deploy_script.sh
复制下面的脚本
#!/bin/bash
# 获取传递的项目名称参数
PROJECT_NAME=$1
# 获取jar包名称参数
JAR_NAME=$2
# 查找正在运行的Java进程并过滤出你的项目的进程
JAVA_PROCESS=$(ps aux | grep $PROJECT_NAME | grep java)
# 提取进程ID
JAVA_PID=$(echo $JAVA_PROCESS | awk '{print $2}')
# 终止该进程
kill -9 $JAVA_PID
# 等待一段时间以确保进程已经停止
sleep 5
#JAR完整名称
JAR_PATH=$JAR_NAME.jar
# 获取当前时间并格式化为年月日时分秒形式
CURRENT_DATETIME=$(date +%Y-%m-%d-%H-%M-%S)
# 设置日志文件名,将当前时间作为文件名的一部分
LOG_FILENAME="$PROJECT_NAME-$CURRENT_DATETIME.log"
# 启动项目,后台运行
nohup java -jar $JAR_PATH >$LOG_FILENAME &
退出vim,先按 esc
:wq
chmod 777 deploy_script.sh
然后jenkins;
--> Build Environment
--> Send files or execute commands over SSH after the build runs
--> SSH Publishers
--> SSH Server
--> Exec command
拷贝下面命令
#!bin/sh
#进入jar包目录
cd /data1/backend-springboot2-ff
#执行停止当前运行的服务,发布更新后的服务的脚本(脚本需要两个参数,项目名称,jar包名称)
sh /ci.scripts/deploy_script.sh springboot2-ff springboot2-ff-1.0.0