天天看點

Jenkins自動部署Java程式

坑點1.安裝新環境需要重新開機Jenkins

坑點2.執行nohup java背景指令需要加上BUILD_ID=dontKillMe 避免程序被殺

流程

  1. 下載下傳Jenkins war包
  2. 啟動Jenkins
  3. 建立流水線
  4. 添加git倉庫
  5. 執行編譯腳本
附件1 Jenkins重新開機腳本
#重新開機Jenkins的腳本
#配置jenkins路徑
jarPath=/opt/jenkins/jenkins.war
output=/opt/jenkins/log
pid=`ps -ef | grep $jarPath | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
    echo "kill ${jarPath} 的pid:$pid"
    kill -9 $pid
    sleep 3
fi
#如果添加了環境需要重新開機Jenkins并執行以下指令
source /etc/profile
echo "start $jarPath"
nohup java -jar $jarPath  > $output 2>&1 &
ps -ef | grep "$jarPath" | grep -v grep
           
附件2 Java建構釋出腳本
path=/opt/project/demo-0.0.1-SNAPSHOT.jar
pid=`ps -ef | grep $path | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
    echo "kill $path 的pid:$pid"
    kill -9 $pid
    sleep 3s
else
    echo "no running"
fi

source /etc/profile
echo "start $path"
#這裡需要加上BUILD_ID=dontKillMe避免Jenkins執行shell之後殺掉衍生程序
BUILD_ID=dontKillMe nohup java -jar $path > /opt/project/demo.log 2>&1 &
ps -ef | grep $path | grep -v grep