jenkins脚本管理,竟然这么简单哟

199 阅读1分钟

前面已经完成了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