使用 Jenkins 實現 CI/CD 多分支流水線

本文首發於:Jenkins 中文社區linux

原文連接    做者:Krishna Prasad Kalakodimigit

譯者:anxkgithub

使用 Jenkins 實現 CI/CD 多分支流水線

基於 Jenkins 多分支流水線任務類型建立 CI/CD 多分支流水線web

Making multiple branches with Jenkins

簡介

Jenkins 是一個持續集成服務器,用於從版本控制系統(VCS)中獲取最新代碼,而後對其進行構建、測試並將結果通知給開發人員。除了做爲一個持續集成(CI)服務器以外,Jenkins 還能夠作不少其它的事情。最初它被稱爲 Hudson,是川口耕介(Kohsuke Kawaguchi)基於 Java 編寫的一個開源項目,所以,在安裝和運行 Jenkins 以前,首先須要安裝 Java 8api

多分支流水線是 Jenkins 中的一種流水線類型,它容許您在 Jenkinsfile 的幫助下爲源碼管理(SCM)庫中的每一個分支自動地建立一支流水線。瀏覽器

什麼是 Jenkinsfile

Jenkinsfile 是一個文本文件,被用來定義一個 Jenkins 流水線。在 Jenkinsfile 中可使用領域特定語言(DSL)編寫運行 Jenkins 流水線所須要的步驟,從而將流水線實現爲代碼。服務器

來自 Jenkins 的定義

使用多分支流水線,您能夠爲同一項目的不一樣分支實現不一樣的 Jenkinsfile,Jenkins 將會自動發現、管理和執行那些分支中包含 Jenkinsfile 的流水線。測試

Architecture Diagram

建立一個簡單多分支流水線任務的步驟

  1. 點擊 Jenkins 工做臺左上角的 New Item 選項:

New Item

  1. 在 Enter an item name 中填入任務名,向下滾動,而後選擇 Multibranch Pipeline,最後點擊 OK 按鈕:

Multibranch pipeline

  1. 填寫任務描述(可選)。
  2. 添加一個分支源(例如:GitHub)而且填寫代碼倉庫的位置。
  3. 選擇 Add 按鈕添加憑證並點擊 Jenkins
  4. 鍵入 GitHub 用戶名密碼ID 和描述。
  5. 從下拉菜單中選擇憑證:

Branch sources

  1. 點擊 Save 保存該多分支流水線任務。
  2. Jenkins 會自動掃描指定的倉庫併爲 Organization 文件夾添加索引。Organization 文件夾使得 Jenkins 可以監視整個 GitHub Organization 或 Bitbucket Team/Project,並自動爲包含分支的倉庫建立新的多分支流水線,而後拉取包括 Jenkinsfile 在內的源碼:

Scan repository log

  1. 當前,這項功能僅適用於 GitHub 和 Bitbucket 中的倉庫,分別由 GitHub Organization Folder 和 Bitbucket Branch Source 這兩個插件提供。
  2. 一旦任務被成功建立,構建將會被自動觸發:

Builds triggered

配置 Webhooks

  1. 咱們須要配置 Jenkins 服務器以便與咱們的 GitHub 倉庫通訊,爲此,咱們要獲取 Jenkins 的 Hook URL。
  2. 導航到 Manage Jenkins 頁面,而後選擇 Configure System
  3. 找到 GitHub 插件配置部分,而後點擊 Advanced 按鈕。
  4. 選擇 Specify another hook URL for GitHub configuration

Webhooks

  1. 將文本框中的 URL 複製出來。
  2. 單擊 Save,返回到 Jenkins 工做臺。
  3. 打開瀏覽器,導航到 GitHub 選項卡,而後選擇您的 GitHub 倉庫。
  4. 單擊 Settings,導航到倉庫設置:

Settings

  1. 點擊 Webhooks 部分。
  2. 點擊 Add Webhook 按鈕,而後將 Hook URL 粘貼在 Playload URL 中。
  3. 確保 Webhook 觸發器已選中 Just the push event 選項。

Add webhook

  1. 點擊擊 Add webhook,就會把此 webhook 添加到您的倉庫。
  2. 正確添加 Webhook 後,您將會看到帶有綠勾的 Webhook:

Added webhook

  1. 返回到倉庫,而後切換到對應分支並更新任何文件。在此,咱們更新 README.md 文件。
  2. 如今將會看到 Jenkins 任務被自動觸發:

CI triggers

  1. 流水線執行完成後,能夠經過點擊 Build History 下的構建號來驗證執行過的構建。
  2. 點擊構建號,而後選擇 Console Output,您即可以看到每一個構建步驟的輸出日誌:

Console Output

進一步閱讀

Learn How to Set Up a CI/CD Pipeline From Scratchui

API Builder: A Simple CI/CD Implementation – Part 1spa

相關文章
相關標籤/搜索