1. 程式人生 > 實用技巧 >jenkins配置git和maven

jenkins配置git和maven

  先把總體流程梳理一下:

       +-------------git:拉取最新提交程式碼,分支可指定,放在jenkins工作空間,如:/var/lib/jenkins/workspace

   |

       +-------------maven:打包,從jenkins工作空間上按pom.xml執行配置的maven命令,如:clean install XXX

jenkins-------| |

       |      +-------------nexus:settings.xml指定maven私服,去nexus上拉取依賴構件

+------------Publish Over SSH:配置執行使用者,如:springCloudGateway,打包完上傳到使用者根目錄

|

+------------bootstrap.sh:啟動指令碼,將上傳的jar包跑起來

  第一步:先把外掛裝好。進入之前搭建的jenkins(jenkins安裝參見centos6.9安裝jenkins最新穩定版2.249.2 )介面,點選左上角的Jenkins圖示,提示安裝預設外掛。我看有一些是我需要的,比如git外掛,我就點了確定,結果自動給我安裝了一堆外掛,包括翻譯。重新左上角圖示,提示設定jenkins的URL:

  自動提示了jenkins的URL的ip和埠,點選確定後進入歡迎頁,這裡不用管它:

  

  如果有些外掛還沒有安裝,可以確認一下,點開外掛管理:

  點選“已安裝”,我們看下有沒有maven外掛,在輸入框中敲“maven”,搜不到maven:

  

  所以還得再裝一下maven外掛,點選可選外掛,搜“maven”,勾選“Maven Integration”,點“直接安裝”:

  同樣的,裝一個Publish Over SSH外掛,用來通過ssh命令傳送maven的構建:

  第二步:配置全域性變數,新增我們要部署的使用者springCloudGateway:

  點“Configure System”後,拉到最下面,在SSH Servers這裡點選新增:

   去新建個使用者:

[root@VM-0
-14-centos ~]# useradd springCloudGateway [root@VM-0-14-centos ~]# passwd springCloudGateway

  再回來配置一下:

  點一下“高階”,把密碼也配置好:

  最後點選儲存,記得點“Test Configuration”測試一下能否連通springCloudGateway環境:

  另外把mavne的jenkins本地倉庫也設定一下:

  第三步:全域性工具配置,點選Manage Jenkins -> Global Tool Configuration:

  

  3.1 設定maven的setting檔案,使用之前安裝的maven3.6.3的配置(安裝參見centos6.9安裝maven3.6.3):

  3.2 設定JDK1.8家目錄:

  

  3.3 設定git執行指令碼路徑(安裝參見centos6.9搭建git1.7.1 ):

  3.4 設定maven安裝路徑:

  第四步:前面都是鋪墊,現在才是關鍵——建立新任務:

  4.1 輸入任務名稱,選擇Maven專案,點選“確定”:

  4.2 配置原始碼,把之前spring-cloud-gateway的git clone連線複製過來即可:

  因為我們沒有把jenkins的公鑰加入到git倉庫的authorized_keys檔案中,需要整一下:

[root@VM-0-14-centos jenkins]# ssh -keygen
Bad escape character 'ygen'.
[root@VM-0-14-centos jenkins]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
4b:d8:9f:2c:19:e6:c7:71:e8:e2:5d:10:16:11:9b:25 root@VM-0-14-centos
The key's randomart image is:
+--[ RSA 2048]----+
|          Eo.    |
|           *     |
|          =      |
|       o . o     |
|      . S + .    |
|       + O =     |
|        * B .    |
|       . = .     |
|        . .      |
+-----------------+
[root@VM-0-14-centos jenkins]# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA5LemBOUc1P5duv9ArXRzzehmHJnTaUdEy+FwDWDTLa1YSwE9I2O2y8oUAYSlbHa7Fas7ZqLJ+amg7zb6nq3WiBGPnhd+O7+ALvTnkF+a05x51YBqZlj0jr+m+wgXOrKKm9qQaVflAMAas6Q1K4cQBVSgy0oqE5RWffv7yKjoV02n2D7R8/0YtVpkaTYQjTaorxcHHQB9qTDSkRETzC4fXclXVUEJqZjzSrjIspyhRnHXx+XgQqeCxA8ziwMgkRmPcPmrh8UMLE3wBkB+fu3BAIsw6kkT0snYovBFQN2vLxi0AKkzL01bvn5xIVY7bQxLFNfgrYtmRsJxkNQ9rDs/2Q== root@VM-0-14-centos

  上面的公鑰是在root使用者下生成的,複製“ssh-ras...",寫入到git使用者下的authorized_keys:

[root@VM-0-14-centos jenkins]# vi /home/git/.ssh/authorized_keys

  重新整理介面,報錯提示消失了:

  4.3 構建環境這裡打鉤,加上時間戳:

  4.4 配置預處理:

  使用者選擇我們之前在第2步配置的springCloudGateway,在啟動前執行一下停止指令碼:

  上面紅框框裡的指令碼詳情:

sh ./bootstrap.sh ./spring-cloud-gateway-0.0.1-SNAPSHOT.jar stop
rm -rf ./spring-cloud-gateway-0.0.1-SNAPSHOT.jar

  4.5 配置maven執行指令碼:

  

  4.6 配置後處理:

  4.7 配置啟動指令碼的執行命令:

  最後點選儲存,可以準備執行jenkins構建任務了:

  檢視構建日誌: