Jenkins, SpringBoot, Linux, Gitee 自動部署

Jenkins, SpringBoot, Linux, Gitee自動部署

相關軟件版本號:

Jenkins: 2.190.1
Java : openjdk version "1.8.0_232"
Linux: CentOS Linux release 7.7.1908 (Core)
Git: gitee.com (https://gitee.com/help/articles/4193)


作者的Jenkins就安裝在測試服務器上,跟jar要部署的服務器是同一個服務器,所以沒有使用 Build Environment-> Send files or execute commands over SSH功能
 

1. 創建一個JOB

配置的是Gitee Connection (https://gitee.com/help/articles/4193),其他參數默認

2. 源碼管理

2.1 配置Gitee.com上源碼的地址,以及登錄信息 ,具體可參考 https://gitee.com/help/articles/4193

2.2 Additional Behaviours: 選擇Clean before checkout,每次獲取源碼前先清理一下,以免有緩存導致有些文件未更新

2.3 Branch,獲取源代碼時,具體從哪個分支獲取,如: master, develop
 

3. 觸發構建

默認既可以,作者用來發布開發環境,或者直接用 Push Events 去觸發 origin/dev-20191015分支

4. 構建編譯環境

其他參數默認,Add pre-build step->Execute shell

編譯前停止SpringBoot 服務

stop-pls-admin8087.sh內容如下,

stop-pls-admin8087.sh和pls-admin8087.jar文件都在目錄 /mnt/diskb/mallplus-runnning下

4.1停止jar服務

4.2 刪除jar文件

#!/bin/sh

echo "Stop pls-admin8085 0.0.1............"
echo ".............stopping.................."

NAME='pls-admin8087.jar'
echo $NAME
ID=`ps -ef | grep "$NAME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo $ID
echo "---------------"
for id in $ID
do
kill -9 $id
echo "killed $id"
done

rm -rf pls-admin8087.jar

echo "...........stopped successfully............"

5. 編譯

編譯時先清除之前的緩存,Goals and options: clean package

6. 編譯後執行命令

Add post-build steps->Execute shell

啓動SpringBoot jar文件

start-pls-admin8087.sh文件內容

6.1 拷貝編譯的Jar文件到執行目錄下,並改名, /mnt/diskb/mallplus-runnning/pls-admin8087.jar

6.2 以後臺進程模式啓動pls-admin8087.jar文件,並記錄日誌信息到日誌文件 pls-admin-run8087.log

6.3 如果jar服務啓動後不工作,可能是jenkins殺掉了啓動的服務,添加 BUILD_ID=dontKillMe 來避免被殺掉

6.4 如果執行shell時找不到一些環境變量,用 source /etc/profile 來主動載入環境變量

#!/bin/sh

echo "Start pls-admin8087 0.0.1............"
echo ".............starting.................."
source /etc/profile
BUILD_ID=dontKillMe
chmod +x /var/lib/jenkins/workspace/plsadmin/pls-admin/target/pls-admin-0.0.1-SNAPSHOT.jar
cp /var/lib/jenkins/workspace/plsadmin/pls-admin/target/pls-admin-0.0.1-SNAPSHOT.jar /mnt/diskb/mallplus-runnning/pls-admin8087.jar
chmod +x /mnt/diskb/mallplus-runnning/pls-admin8087.jar
nohup  java -jar /mnt/diskb/mallplus-runnning/pls-admin8087.jar > pls-admin-run8087.log 2>&1 &
echo "...........started successfully............"

7. 上述動作如果都執行成功,則通過url和端口進行訪問測。

備註:Jenkins 環境配置

1. 配置java JDK , Linux下一般安裝免費的 Open JDK

如果提示不是JDK,這需要安裝open jdk devel版本,即開發版本

 

2. 配置MAVEN

3. 配置Node JS

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章