1. 程式人生 > >Jenkins持續整合Spring Boot應用

Jenkins持續整合Spring Boot應用

1.部署jenkins

2.配置git倉庫地址選擇track的分支

3.配置執行bash指令碼編譯maven工程

對應的指令碼內容為:

4.配置node節點

在Jenkins->Manage Jenkins->Configure System下配置Publish Over SSH。

配置jenkins使用的公鑰,並將私鑰配置到目標節點。配置SSH server節點的host name,測試success後儲存。

5. 在工程中配置Send build artifacts over SSH

新增Post-build Actions 選擇 Send build artifacts over SSH。

Transfer Set引數:

Source files:工程目錄下目標檔案的相對地址。。

Remove prefix:Transfer到目標節點後要刪除的上級目錄。

Remote directory:目標節點上的資料夾位置。

Exec command:Transfer完成後要執行的命令。

這裡在目標節點上配置了啟動指令碼,釋出成功後執行指令碼sh /root/restart.sh。

目標例項上配置了3個指令碼分別是 starup.sh,shutdown.sh和restart.sh。

 starup.sh,用nohup &讓java程式在後臺執行將pid寫入指定的檔案中。

#!/bin/bash
nohup java -jar /docker/cms/cms.jar --spring.profiles.active=test --server.port=8888  > /docker/cms/log.txt 2>&1 &
echo $! > /docker/cms/pid.file

  shutdown.sh,從pid檔案中讀取java應用的程序ID並kill。

#!/bin/bash
kill $(cat /docker/cms/pid.file)

  restart.sh ,先執行關閉命令再執行啟動命令。

#!/bin/bash
. /root/shutdown.sh
. /root/startup.sh

儲存設定後每次push程式碼後手動點選一下編譯任務即可一鍵釋出執行。也可以新增webhook監聽push等動作來自動觸發編譯部署。