jenkins+maven+svn實現springboot項目的自動化部署過程


說明:部署springboot項目的jar

前提(參考:https://www.cnblogs.com/myitnews/p/11493779.html):

  • 全局安全配置(前面配置過)
  • 全局工具配置(前面配置過)
  • 管理插件(根據需要安裝插件,前面配置過)
  • 已將項目代碼提交到SVN倉庫。

1. 創建任務

 

2. 配置項目

(1) General

勾選丟棄舊的構建,選擇是否備份被替換的舊包。我這里選擇備份最近的10個。

(2) 源碼管理

(3) 構建環境

代碼構建的過程中會將日志打印出來。

 (3) Build

clean install -Dmaven.test.skip=true -Ptest

(4) Post Steps

#!/bin/bash
# /opt/jenkins/deploy/是新建的目錄
# 大致意思就是進入目錄,stop.sh:停止應用; replace.sh:拷貝應用jar; startup.sh:運行jar
cd /opt/jenkins/deploy/
./stop.sh
./replace.sh
echo "Execute shell Finish"

BUILD_ID=dontKillMe nohup /opt/jenkins/deploy/startup.sh &

在/opt/jenkins/deploy/目錄下創建startup.sh、stop.sh、replace.sh。

stop.sh、replace.sh和startup.sh內容如下:

stop.sh

#!/bin/bash
# stop.sh
# shelloworld-0.0.1-SNAPSHOT.jar是生成的jar包名稱
echo "Stopping SpringBoot"
pid=`ps -ef | grep shelloworld-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if ["$pid" == ""]
    then
        echo "helloboot is already stop!"
else
    echo "kill -9 的pid:"+$pid
    kill -9 $pid
fi

replace.sh

#!/bin/bash
# replace.sh
# HelloWorld 是在Jenkins中創建的任務名稱
# /opt/jenkins/project 是新建存放jar包的目錄,將Jenkins生成的jar包拷貝到這個目錄下
cp /root/.jenkins/workspace/HelloWorld/target/shelloworld-0.0.1-SNAPSHOT.jar /opt/jenkins/project

startup.sh

#!/bin/bash
# startup.sh
java -jar /opt/jenkins/project/shelloworld-0.0.1-SNAPSHOT.jar>log.file 2>&1&

3. 立即構建,查看控制台輸出,成功后,瀏覽器訪問。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM