1. 程式人生 > >SpringBoot + Jenkins + Docker + Git自動化部署

SpringBoot + Jenkins + Docker + Git自動化部署

SpringBoot + Jenkins + Git自動化部署

1、Jenkins安裝

到Jenkins的官網:http://jenkins.io下載jenkins.war檔案

然後將jenkins.war檔案上傳到Linux伺服器,執行jar -jar jenkins.war命令啟動Jenkins

在瀏覽器中輸入http://伺服器IP:8080訪問Jenkins

在頁面上如何授權碼進入Jenkins,授權碼可以在啟動Jenkins的命令列中看到,只有第一次進入時需要輸入授權碼
在這裡插入圖片描述
點選Install suggested plugins,安裝Jenkins建議安裝的外掛,如果部分外掛沒有安裝成功,可以重複多次,直到所有的外掛都安裝成功
在這裡插入圖片描述


建立使用者
在這裡插入圖片描述
再安裝幾個比較好用的Jenkins外掛:Rebuilder、Safe Restart、Publish Over SSH、Maven Integration
依次點選:系統管理 -> 外掛管理 -> 可選外掛,輸入外掛名搜尋外掛
在這裡插入圖片描述
點選直接安裝

給剛建立的使用者分配許可權
依次點選:系統管理 -> 全域性安全配置 -> 安全矩陣 -> User or group name
在這裡插入圖片描述
點選User or group name,新增自己的賬號(我的是admin賬號),給賬號分配許可權,我是給該賬號所有的許可權,如果是普通的賬號,可以去掉Administrator(第一個,系統管理的許可權)

2、Linux伺服器設定

①開啟ssh遠端連線
檢視ssh遠端連線狀態命令:netstat -anp | grep :22
開啟ssh遠端連線:service sshd start

②關閉防火牆
關閉防火牆命令:service iptables stop
檢視防火牆狀態:service iptables status

③安裝Java jdk
安裝Java jdk命令:yun install java
檢視是否安裝成功:java -version
在這裡插入圖片描述

④安裝並配置Git

  1. 安裝Git命令:yum install git

  2. 檢視git是否安裝成功:git version
    在這裡插入圖片描述

  3. 將git初始化並生成授權證書

    • 設定使用者名稱和郵箱,使用者名稱和郵箱不需要是真實的個人資訊
      在這裡插入圖片描述
    • 生成授權證書,中間直接全部回車就行
      在這裡插入圖片描述
    • 檢視證書是否生成成功
      在這裡插入圖片描述
      ​ id_rsa是私鑰,id_rsa.pub是公鑰
    • 將git證書配置到GitHub上,保證Linux伺服器和GitHub之間可以聯通
      在GitHub中依次點選:setting -> SSH and GPG keys -> new SSH key,將公鑰中的內容複製到SSH key中
      在這裡插入圖片描述
    • 驗證git的配置是否正確
      在這裡插入圖片描述
  4. 安裝並配置maven
    到maven官網http://maven.apache.org獲取apache-maven-3.6.0-bin.zip的下載連結
    在這裡插入圖片描述
    在Linux伺服器下載maven
    在這裡插入圖片描述
    解壓apache-maven-3.6.0-bin.zip
    在這裡插入圖片描述
    在/etc/profile中配置maven,將maven的安裝路徑加入到PATH中
    在這裡插入圖片描述
    重新載入/etc/profile檔案,並檢視maven是否安裝成功
    在這裡插入圖片描述

3、將Linux註冊到Jenkins上

①新建節點
在Jenkins中依次點選:系統管理 -> 節點管理 -> 新建節點
在這裡插入圖片描述
點選確定按鈕,然後配置Jenkins在Linux中的路徑、LInux伺服器的IP地址、Linux伺服器的賬號和密碼
在這裡插入圖片描述

②啟動從節點驗證Linux伺服器已經成功註冊到Jenkins上
點選我們剛新增的節點,然後點選啟動代理按鈕,連線Linux伺服器
在這裡插入圖片描述
如果連線伺服器時出現如下錯誤資訊
在這裡插入圖片描述
就將Host Key Verrification Strategy配置成Non Verfifying Verrification Strategy
在這裡插入圖片描述

4、新建Job驗證Jenkins任務可以遠端執行在Linux伺服器上

在Jenkins主頁點選【開始建立一個新任務】按鈕,然後輸入任務名,選擇構建一個maven專案,注意:只有安裝了Maven Integration外掛才有這個選項
在這裡插入圖片描述
點選【確定】按鈕
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
點選【儲存】按鈕

shell指令碼的內容,根據專案的實際需求編寫

#!/bin/sh

echo "開始執行shell指令碼"

# 在jenkins環境中一定要加這句話,否則這個指令碼程序最後會被殺死
export BUILD_ID=dontKillMe

# 指定最後編譯好的jar的存放位置
JAR_PATH=/opt/workspace/project-management

# 如果路徑不存在,就建立路徑
[ ! -e $JAR_PATH ] && mkdir -p $JAR_PATH

# 指定jenkins中存放編譯好的jar的位置
JENKINS_JAR_PATH=/root/.jenkins/workspace/project-management/target

# 指定jenkins中存放編譯好的jar的名稱(這個jar的名字和pom檔案配置有關)
JENKINS_JAR_NAME=project-management-0.0.1-SNAPSHOT.jar

# 獲取該專案的程序號,用於重新部署專案前殺死程序
PORJECT_MANAGEMENT_PID=`ps -ef | grep project-management`
# 如果該專案正在執行,就殺死專案程序
if [ -n "$PORJECT_MANAGEMENT_PID"]
then 
	echo "停止服務"
	kill -9 $PORJECT_MANAGEMENT_PID
else 
	echo "服務未啟動"
fi

# 進入Jenkins中編譯好的jar的位置
cd ${JENKINS_JAR_PATH}

# 將Jenkins中編譯好的jar複製到最終存放專案jar的位置
cp $JENKINS_JAR_PATH/$JENKINS_JAR_NAME $JAR_PATH

# 進入到存放專案jar的位置
cd ${JAR_PATH}

# 後臺啟動專案,並且將控制檯日誌輸出到project-management.log中
nohub java -jar ${JENKINS_JAR_NAME} > project-management.log &

echo "shell指令碼執行完畢"

然後點選【立即構建】按鈕,構建專案,點選下面的#1就可以看到到專案的詳情
在這裡插入圖片描述
可以在 控制檯輸出中檢視到控制檯中打印出的內容,可以看到剛才在shell中輸入的命令被執行了
在這裡插入圖片描述
至此,我們的spring boot專案就自動部署成功了。

參考:
https://blog.csdn.net/javahongxi/article/details/79501188
https://blog.csdn.net/w105021/article/details/78657382