在 Jenkins 中安裝插件
選擇 系統(tǒng)管理 -> 管理插件 打開插件管理頁面
在 可選插件 中選擇 Gitlab Hook Plugin 和 GitLab Plugin

配置 GitLab 用戶
創(chuàng)建一個用戶或選擇一個已有用戶,用來讓 Jenkins 和 GitLab API 交互。這個用戶將需要是全局的管理員或添加進每個組/工程,并作為成員。需要開發(fā)者權限來報告構建狀態(tài)。這是由于,當使用了 ‘Merge when pipeline succeeds’ 功能時,成功的構建狀態(tài)可以觸發(fā)合并。GitLab Plugin 的一些功能可能需要其它的一些權限。比如,有一個選項用于在構建成功時,接受 merge request。使用這一功能需要 developer,master 或 owner 級的權限。
選擇 Settings -> Account:
拷貝其中的 Private token,稍后在配置 Jenkins 服務器時會用到。

配置 Jenkins 服務器
需要配置 Jenkins 服務器來與 GitLab 服務器通信。
在 Jenkins 中,選擇 系統(tǒng)管理 -> 系統(tǒng)設置,在系統(tǒng)設置中找到 GitLab 的部分:
在 Connection name 后的輸入框中輸入連接名稱,在 Gitlab host URL 后的輸入框中輸入 GitLab 服務器的 URL 地址。點擊 Credentials 行最后面的 Add -> Jenkins 按鈕,彈出如下對話框,在 * Kind* 后的下拉列表中選擇 GitLab API token,并把上一步拷貝的 Private token 粘貼到 API token 后面的輸入框中。隨后在 Credentials 的下拉框中選擇 GitLab API token。

配置 Jenkins 工程
打開 Jenkins 工程的配置頁面,找到 構建觸發(fā)器 的部分,勾選 Build when a change is pushed to GitLab 那一行:
需要記下 Build when a change is pushed to GitLab 那一行中,GitLab CI Service URL: 后面的 URL,后面在配置 GitLab 工程時需要用到。
還要點開右下角的 高級:
隨后點擊右下角的 Generate 按鈕,生成 Secret token,保存這里生成的 Secret token,它同樣將用于后面 GitLab 的配置。隨后點擊左下角的 保存 按鈕,保存前面所做的配置。

配置 GitLab 工程
創(chuàng)建一個新的或選擇一個已有的 GitLab 工程。然后選擇 Settings -> * Integrations*,在 URL 一欄中輸入前面保存的 GitLab CI Service URL,在 Secret Token 一欄中輸入前面保存的 Secret token,然后選擇需要 trigger Jenkins 工程執(zhí)行構建的事件:
點擊綠色的 Add webhook 按鈕,完成 webhook 的創(chuàng)建。
創(chuàng)建好了 webhook 之后,點擊 Test 下拉框中的 Push events,如下圖:
