天天看點

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

建構觸發器(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,需要修改配置檔案

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

高版本jenkins請參考:

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

建構指令為簡單的測試指令,比如輸出目前的賬戶資訊

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例
DevOps-Jenkins觸發器、項目關聯及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實作自動部署,點選儲存

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

點選測試按鈕測試鈎子是否可以正常建構

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

 使用 curl 指令通路 URL

jenkins 驗證 job 是否自動建構

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

用于多個 job 互相關聯,需要串行執行多個 job 的場景,可以通過安裝插件 Parameterized Trigger 觸發執行其他 project。

将以下job任務拆分,可以實作job複用和子產品化

代碼拷貝job

停止服務job

代碼部署job

服務啟動job

配置建構後操作,選擇建構其他工程

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

清單視圖

清單視圖使用場景比較多,用于将一個業務的job儲存至一個清單視圖進行分類管理,即不同業務的 job 放在不同的清單視圖中。

定義視圖名稱

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

 選擇任務,也可以選擇正規表達式比對

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

結果展示

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

 建立pipeline視圖

安裝插件:build pipeline

建立 pipline 視圖

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

  定義 視圖 配置 資訊

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

 結果展示

DevOps-Jenkins觸發器、項目關聯及Jenkins視圖應用示例

越學越感到自己的無知