前提:有g(shù)itlab項目,已安裝好jenkins,且兩者的服務(wù)器之間互通,ping IP/域名 或 telnet IP 端口
注意:如果兩者部署在兩臺服務(wù)器上,一定記得兩者能互相訪問,比gitlab服務(wù)器在外網(wǎng),jenkins服務(wù)器在局域網(wǎng),這樣的話,gitlab是不能自動觸發(fā)jenkins構(gòu)建; 安裝jenkins時,目錄中別有空格,否則可能導(dǎo)致相關(guān)插件無法下載
步驟:
一、基礎(chǔ)配置
-
jenkins系統(tǒng)管理--插件管理中安裝gitlab插件
image.png -
jenkins系統(tǒng)管理--系統(tǒng)設(shè)置,滑動到gitlab處,填寫
connection name :可以隨便寫 如jenkins-gitlab,這個名字在新建jenkins任務(wù)時 “General”中可以選擇,此處可以先不管
image.png
host URL:host地址注意只填寫host不要庫地址寫http地址即可
credentials:選擇一個證書


kind:選擇GitLab API token
API token:輸入token,如何找到token參見下面
查找token,token需要在gitLab中配置
1)在gitlab中點擊用戶名下拉的Settings,點擊Access Tokens
2)在如下頁面填入名字和過期時間后自動生成token,生成后一定記下來,之后無法查看該token

添加完jenkins中的 GitLab API token,點擊Test Connection,提示success
-
jenkins系統(tǒng)管理--系統(tǒng)設(shè)置,滑動到Jenkins location處
image.png
點擊應(yīng)用,保存
二、新建任務(wù)
jenkins新建任務(wù),選擇自由風(fēng)格.
輸入任務(wù)名稱 testgitGitLab Connectio選擇系統(tǒng)管理--系統(tǒng)設(shè)置下滑到gitlab處的jenkins-gitlab
-
源碼管理:
image.png
1)這里勾選上 Git
2)Repository URL 填寫gitlab中的地址
3)添加憑據(jù)
這里是jenkins想通過git協(xié)議拉取代碼
i)當上面的Repository URL填寫http形式時,憑據(jù)選擇username和password,填寫gitlab登錄名和登錄gitlab的密碼,登錄名可以是用戶名或者郵箱;ID和描述可以都不填寫
image.png
ii)當上面的Repository URL填寫ssh形式,憑據(jù)選擇SSH Username with private key時,
下面只需要填寫username和Enter directly
這里的username是gitlab的用戶名
Private Key是jenkins服務(wù)器生成秘鑰的私鑰,公鑰配置在gitlab的ssh key上(C:\Users\Administrator.ssh\id_rsa文件)
image.png -
構(gòu)建觸發(fā)器
image.png
這里顯示的url主要是一會配置到gitlab的webhook中
另外有一項設(shè)置后會更安全,點擊這里的“高級”,

點擊 Generate,會生成一串隨機碼,將其配置到gitlab的webhook里面第二項

-
gitlab的webhook:點擊項目里的settings,然后填寫webhook和Secret Token(上一步驟中生成的隨機碼)
image.png -
保存后,可以點擊測試,提示成功
,
三、驗證
- 向gitlab項目push操作后,
- jenkins自動構(gòu)建了任務(wù),并執(zhí)行測試后命令等








