2017-02-11

GitHub Repository 有 merge 時自動通知 Jenkins 2 進行編譯建置 (GitHub Plugin)

之前文章 遠端 Git Repository 有 merge 時自動通知 Jenkins 2 進行編譯建置 (webhook) 介紹如何以 GitHub 為例設定 Git server 提供的 webhook 功能與 Jenkins 2 建置自動化建置的 CI 環境,其中 GitHub 的相關功能 Jenkins 2 有相對應的 Plugin 功能,今天就來看看設定上有什麼不同


文章大綱

  1. 安裝 GitHub Plugin
  2. 設定 GitHub Plugin
  3. 設定 build project
  4. 設定 GitHub
  5. 結果

安裝 GitHub Plugin

  1. Manage Jenkins --> Manage Plugins

    1install

  2. Available tab --> Filter GitHub plugin --> 勾選 GitHub plugin

    2github

設定 GitHub Plugin

  1. Manage Jenkins --> Configure System

    3globalconfig

  2. ADD GITHUB SERVER

    4addgitserver

    5addgitserver

  3. ADD Credential

    6addcrend

  4. Credential detain

    7cred

    • Kind --> Secret text (由 Plain Credentials Plugin 提供)
    • Secret (由 GitHub 產生)
      • GitHub 個人設定

        8githubsetting

      • Personal access tokens --> Generate new token

        9gentoken

      • New personal access token
        • 填寫 Token 描述
        • 選擇 scopes 需要 admin:org_hook

        10tokeninfo

      • Personal access tokens
        • 只有出現一次

          11gettoken

設定 build project

  • GitHub project
    • 填入 Project url

      12projecturl

  • Source Code Management
    • Git
    • 填寫 Git Repository 資訊

      13gitrepo

  • GitHub hook trigger for GITScm polling

    0githubhook

    • 有安裝 GitHub plugin 才會出現這個選項

設定 GitHub

  1. Add service
    • Settings --> Integration & services --> Add service --> "Jenkins" --> Jenkins(GitHub plugin)

      13githubservice

  2. 填寫 Jenkins service hook url
    • 會自動轉導至 Settings --> Webhooks
    • 填入 Jenkins hook url
      • Jenkins 對外網址加上 /github-webhook
    • 確認 Active

      14serviceinfo

結果

  1. 收到通知

    15received

  2. 完成 build

    16done

參考資訊

  1. GitHub Plugin
  2. How to Start Working with the GitHub Plugin for Jenkins

沒有留言:

張貼留言