CICD:jenkins加shell脚本启动java服务
jenkins加shell脚本启动java服务:最简单的方式实现CICD、java服务部署上线
#!/bin/sh
. /etc/profile_jdk11
cd ${JENKINS_HOME}/workspace/${JOB_NAME}/src/main/resources
sed -i 's/spring.profiles.active=dev/spring.profiles.active=prod/' application.properties
##docker rmi 172.26.0.168:5000/ipu-fs-server:latest
cd ${JENKINS_HOME}/workspace/${JOB_NAME}
mvn clean install
###echo 1111111111111111111111111111111111111111111111111111111111111111111
####cd ${JENKINS_HOME}/workspace/${JOB_NAME}/default/target
###ls
###touch test.txt
echo 22222222222222222222222222222222222222222222222222222222
pwd
cd ${JENKINS_HOME}/workspace/${JOB_NAME}/target
touch aaa.txt && ls
rsync -av -e 'ssh -p 20000' ./ipu-fs-server-0.0.1-SNAPSHOT.jar root@172.16.17.155:/ipudata/ipu-fs/
##下面部署是本地实现免密认证了、直接连接远程机器后执行脚本(省去Jenkins里面执行脚本、添加一系列的鉴权、用户认证)
ssh -p 20000 172.16.17.155 '/ipudata/runsh/ipu-fs-server.sh'
###mv ${JENKINS_HOME}/workspace/${JOB_NAME}/* /root/back-file/ && rm -rf /root/back-file/* && echo "成功删除构建残留的历史war包" || echo "移动出现错误"
下面是Java服务启动脚本:
#!/bin/bash
log_file="/ipudata/ipu-fs/logs/start-fs.log"
. /etc/profile
export killpid=`ps -ef|grep /ipudata/ipu-fs/ipu-fs-server-0.0.1-SNAPSHOT.jar | grep -v "grep"|awk '{print $2}'`
if [ -n "$killpid" ]
then
kill -9 $killpid
fi
sleep 2
if [ -f "$log_file" ]; then
timestamp=$(date +'%Y%m%d_%H')
mv "$log_file" "/ipudata/ipu-fs/logs/start-fs-$timestamp.log"
echo "文件已移动到 /ipudata/ipu-fs/logs/start-fs-$timestamp.log"
else
echo "文件 $log_file 不存在,无法移动."
fi
nohup /opt/jdk-11.0.2/bin/java -jar /ipudata/ipu-fs/ipu-fs-server-0.0.1-SNAPSHOT.jar > /ipudata/ipu-fs/logs/start-fs.log 2>&1 &
sleep 3

浙公网安备 33010602011771号