建構觸發器(webhook),有的人稱為鈎子,實際上是一個 HTTP 回調,其用于在開發人員向 gitlab 送出代碼後能夠觸發 jenkins 自動執行代碼建構操作。
以下為建立一個開發分支,隻有在開發人員向開發(develop)分支送出代碼的時候才會觸發代碼建構,而向主分支送出的代碼不會自動建構,需要運維人員手動部署代碼到生産環境。
此功能為gitlab使用API方式通路jenkins,是以
Gitlab Hook 和 Gitlab Authentication
在 jenkins 系統管理--全局安全設定,認證改為登入使用者可以做任何事情
取消跨站請求僞造保護的勾選項
Gitlab Hook Plugin 以純文字形式存儲和顯示 GitLab API 令牌
官網文檔:https://jenkins.io/security/advisory/2018-05-09/#SECURITY-263
系統管理—全局安全設定,以下關閉跨站請求僞造保護隻适用于2.204.6以下版本,我的jenkins版本是Jenkins 2.319.1,需要修改配置檔案
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuQzMwAjMwcDOx0CMyITOxkTN5EzNyITMxIDMy0SNykDM3EjMvwlMxEjMwIzLcVjM5AzNxIzLcd2bsJ2Lc12bj5ycn9Gbi52YuAjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.png)
高版本jenkins請參考:
建構指令為簡單的測試指令,比如輸出目前的賬戶資訊
使用以下 URL 遠端觸發建構: JENKINS_URL /job/linux38-web1-develop/build?token= TOKEN_NAME 或者 /buildWithParameters?token= TOKEN_NAME
可選附加&cause=Cause+Text以提供将包含在記錄的建構原因中的文本.
拼接起來gitlab通路jenkins,将以下url填入gitlab系統鈎子
選擇 ”更新存儲庫時将觸發此 URL“,觸發gitlab遠端調用jenkinsAPI實作自動部署,點選儲存
點選測試按鈕測試鈎子是否可以正常建構
使用 curl 指令通路 URL
jenkins 驗證 job 是否自動建構
用于多個 job 互相關聯,需要串行執行多個 job 的場景,可以通過安裝插件 Parameterized Trigger 觸發執行其他 project。
将以下job任務拆分,可以實作job複用和子產品化
代碼拷貝job
停止服務job
代碼部署job
服務啟動job
配置建構後操作,選擇建構其他工程
清單視圖
清單視圖使用場景比較多,用于将一個業務的job儲存至一個清單視圖進行分類管理,即不同業務的 job 放在不同的清單視圖中。
定義視圖名稱
選擇任務,也可以選擇正規表達式比對
結果展示
建立pipeline視圖
安裝插件:build pipeline
建立 pipline 視圖
定義 視圖 配置 資訊
結果展示
越學越感到自己的無知