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
posted @ 2024-07-18 09:55  姬高波  阅读(24)  评论(0)    收藏  举报