先把總體流程梳理一下:
+-------------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構建任務了:
查看構建日志: