Jenkins持續整合Spring Boot應用
阿新 • • 發佈:2019-01-11
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等動作來自動觸發編譯部署。