前提:有g(shù)itlab項(xiàng)目元旬,已安裝好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插件
-
jenkins系統(tǒng)管理--系統(tǒng)設(shè)置,滑動到gitlab處婉称,填寫
connection name :可以隨便寫 如jenkins-gitlab块仆,這個名字在新建jenkins任務(wù)時 “General”中可以選擇,此處可以先不管
host URL:host地址注意只填寫host不要庫地址寫http地址即可
credentials:選擇一個證書
kind:選擇GitLab API token
API token:輸入token王暗,如何找到token參見下面
查找token悔据,token需要在gitLab中配置
1)在gitlab中點(diǎn)擊用戶名下拉的Settings,點(diǎn)擊Access Tokens
2)在如下頁面填入名字和過期時間后自動生成token俗壹,生成后一定記下來科汗,之后無法查看該token
添加完jenkins中的 GitLab API token,點(diǎn)擊Test Connection绷雏,提示success
-
jenkins系統(tǒng)管理--系統(tǒng)設(shè)置头滔,滑動到Jenkins location處
點(diǎn)擊應(yīng)用,保存
二涎显、新建任務(wù)
jenkins新建任務(wù)坤检,選擇自由風(fēng)格.
輸入任務(wù)名稱 testgitGitLab Connectio選擇系統(tǒng)管理--系統(tǒng)設(shè)置下滑到gitlab處的jenkins-gitlab
-
源碼管理:
1)這里勾選上 Git
2)Repository URL 填寫gitlab中的地址
3)添加憑據(jù)
這里是jenkins想通過git協(xié)議拉取代碼
i)當(dāng)上面的Repository URL填寫http形式時,憑據(jù)選擇username和password期吓,填寫gitlab登錄名和登錄gitlab的密碼早歇,登錄名可以是用戶名或者郵箱;ID和描述可以都不填寫
ii)當(dāng)上面的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文件)
-
構(gòu)建觸發(fā)器
這里顯示的url主要是一會配置到gitlab的webhook中
另外有一項(xiàng)設(shè)置后會更安全悬襟,點(diǎn)擊這里的“高級”衅码,
點(diǎn)擊 Generate,會生成一串隨機(jī)碼脊岳,將其配置到gitlab的webhook里面第二項(xiàng)
-
gitlab的webhook:點(diǎn)擊項(xiàng)目里的settings逝段,然后填寫webhook和Secret Token(上一步驟中生成的隨機(jī)碼)
-
保存后垛玻,可以點(diǎn)擊測試,提示成功
三帚桩、驗(yàn)證
- 向gitlab項(xiàng)目push操作后,
- jenkins自動構(gòu)建了任務(wù)嘹黔,并執(zhí)行測試后命令等