在 Jenkins 中安裝插件
選擇 系統(tǒng)管理 -> 管理插件 打開(kāi)插件管理頁(yè)面
在 可選插件 中選擇 Gitlab Hook Plugin 和 GitLab Plugin
配置 GitLab 用戶
創(chuàng)建一個(gè)用戶或選擇一個(gè)已有用戶乡恕,用來(lái)讓 Jenkins 和 GitLab API 交互。這個(gè)用戶將需要是全局的管理員或添加進(jìn)每個(gè)組/工程俯萎,并作為成員傲宜。需要開(kāi)發(fā)者權(quán)限來(lái)報(bào)告構(gòu)建狀態(tài)。這是由于夫啊,當(dāng)使用了 ‘Merge when pipeline succeeds’ 功能時(shí)函卒,成功的構(gòu)建狀態(tài)可以觸發(fā)合并。GitLab Plugin 的一些功能可能需要其它的一些權(quán)限涮母。比如谆趾,有一個(gè)選項(xiàng)用于在構(gòu)建成功時(shí),接受 merge request叛本。使用這一功能需要 developer沪蓬,master 或 owner 級(jí)的權(quán)限。
選擇 Settings -> Account:
拷貝其中的 Private token来候,稍后在配置 Jenkins 服務(wù)器時(shí)會(huì)用到跷叉。
配置 Jenkins 服務(wù)器
需要配置 Jenkins 服務(wù)器來(lái)與 GitLab 服務(wù)器通信。
在 Jenkins 中营搅,選擇 系統(tǒng)管理 -> 系統(tǒng)設(shè)置云挟,在系統(tǒng)設(shè)置中找到 GitLab 的部分:
在 Connection name 后的輸入框中輸入連接名稱,在 Gitlab host URL 后的輸入框中輸入 GitLab 服務(wù)器的 URL 地址转质。點(diǎn)擊 Credentials 行最后面的 Add -> Jenkins 按鈕园欣,彈出如下對(duì)話框,在 * Kind* 后的下拉列表中選擇 GitLab API token休蟹,并把上一步拷貝的 Private token 粘貼到 API token 后面的輸入框中沸枯。隨后在 Credentials 的下拉框中選擇 GitLab API token日矫。
配置 Jenkins 工程
打開(kāi) Jenkins 工程的配置頁(yè)面,找到 構(gòu)建觸發(fā)器 的部分绑榴,勾選 Build when a change is pushed to GitLab 那一行:
需要記下 Build when a change is pushed to GitLab 那一行中哪轿,GitLab CI Service URL: 后面的 URL,后面在配置 GitLab 工程時(shí)需要用到翔怎。
還要點(diǎn)開(kāi)右下角的 高級(jí):
隨后點(diǎn)擊右下角的 Generate 按鈕窃诉,生成 Secret token,保存這里生成的 Secret token赤套,它同樣將用于后面 GitLab 的配置飘痛。隨后點(diǎn)擊左下角的 保存 按鈕,保存前面所做的配置容握。
配置 GitLab 工程
創(chuàng)建一個(gè)新的或選擇一個(gè)已有的 GitLab 工程敦冬。然后選擇 Settings -> * Integrations*,在 URL 一欄中輸入前面保存的 GitLab CI Service URL唯沮,在 Secret Token 一欄中輸入前面保存的 Secret token脖旱,然后選擇需要 trigger Jenkins 工程執(zhí)行構(gòu)建的事件:
點(diǎn)擊綠色的 Add webhook 按鈕,完成 webhook 的創(chuàng)建介蛉。
創(chuàng)建好了 webhook 之后萌庆,點(diǎn)擊 Test 下拉框中的 Push events,如下圖: