讓Jenkins執行GitHub上的pipeline腳本

本文是《Jenkins流水線(pipeline)實戰》系列的第二篇,上一篇搭建好了Jenkins環境並執行了一個簡單的pipeline任務,當時咱們直接在Jenkins網頁上編寫pipeline腳本,這種方式雖然簡單,可是也有不足之處:git

  1. pipeline腳本內容複雜時,在網頁上編輯和查找都不方便;
  2. 沒法對腳本文件作版本管理,例如提交到GitHub上;

今天的文章打算解決上述問題:將pipeline腳本以文件的形勢保存在GitHub上,讓Jenkins下載該腳本而後執行;程序員

系列文章地址

  1. 《Jenkins流水線(pipeline)實戰之:從部署到體驗》
  2. 《讓Jenkins執行GitHub上的pipeline腳本》

環境信息

爲了快速搭建Jenkins環境,我這裏用到了Docker,部署Jenkins的詳情請參考《Jenkins流水線(pipeline)實戰之:從部署到體驗》,今天的實戰需是在如下環境進行的:github

  1. 操做系統:Ubuntu 18.04.2 LT
  2. Docker:19.03.1
  3. Jenkins: 2.176.3(運行與Docker環境)

上傳pipeline腳本文件到GitHub

本次實戰用的是我本身的GitHub帳號,代碼倉庫是:https://github.com/zq2599/blog_demos測試

  1. 寫一個測試用的pipeline腳本文件,上傳到GitHub上,以下圖,文件地址是:https://github.com/zq2599/blog_demos/blob/master/blueocean/helloworld/Jenkinsfile
    在這裏插入圖片描述
  2. Jenkinsfile文件在代碼倉庫的相對路徑是blueocean/helloworld,以下圖:
    在這裏插入圖片描述

GitHub開放受權

爲了讓Jenkins順利地從GitHub下載到pipelien腳本,須要在GitHub上開放受權,具體的方式:ui

  1. 登陸GitHub後,在右上角的帳號菜單中點擊Settings,以下圖:
    在這裏插入圖片描述
  2. 點擊下圖紅框中的"Developer settings"按鈕:
    在這裏插入圖片描述
  3. 點擊下圖紅框中的"Personal access tokens"按鈕:
    在這裏插入圖片描述
  4. 接下來就是建立受權token的頁面,這裏要選好開放受權的功能,以下圖,兩個紅框中的功能Jenkins會用到的,必須勾選:
    在這裏插入圖片描述
  5. 設定完畢後,點擊底部綠色的Generate token按鈕,就會生成一個字符串,這就是受權token,複製下來,稍後會用到;
    至此,GitHub上的設置就完成了,接下來在Jenkins上設置流水線任務;

Jenkins設置流水線任務

如今咱們在Jenkins上建立一個流水線任務,該任務從GitHub下載剛纔上傳的pipeline腳本;操作系統

  1. 在Jenkins的左側菜單上點擊打開 Blue Ocean,進入Blue Ocean頁面,Blue Ocean頁面比起原生的Jenkins設置頁面更加適合流水線人的管理和配置:
    在這裏插入圖片描述
  2. 點擊下圖紅框中的建立流水線按鈕:
    在這裏插入圖片描述
  3. 進入的頁面以下圖所示,這就是設置流水線的頁面,按照序號依次設置,便可完成流水線的新建:
    在這裏插入圖片描述
  4. 因爲Jenkinsfile文件不在GitHub倉庫的第一級目錄下,所以沒有被Jenkins掃描到,因此咱們要手動指定Jenkinsfile文件的位置,點擊下圖中的紅框按鈕,回到任務列表:
    在這裏插入圖片描述
  5. 在任務列表點擊剛纔新建的任務,以下圖紅框所示:
    在這裏插入圖片描述
  6. 點擊下圖紅框中的圖標,便可跳轉到該任務的Jenkins設置頁面:
    在這裏插入圖片描述
  7. 以下圖,找到Build Configuration設置項,在下圖紅框位置輸入blueocean/helloworld/Jenkinsfile,這是剛纔上傳的文件在倉庫中的相對位置:
    在這裏插入圖片描述
  8. 點擊底部的保存按鈕,保存配置:
    在這裏插入圖片描述
  9. 此時Jenkins會自動開始一個掃描GitHub倉庫的任務,若是配置無誤,該任務會執行成功:
    在這裏插入圖片描述
  10. 配置完畢,再次回到Blue Ocean頁面,點開該任務,按照下圖紅框進行操做,便可運行該任務:
    在這裏插入圖片描述
  11. 任務啓動後,點擊下圖紅框中的活動按鈕,便可查看任務的執行狀況:
    在這裏插入圖片描述
  12. 點擊上圖中任何一條執行記錄,能夠查看詳情,以下圖,第三次執行狀況顯示成功從GitHub獲取pipeline腳本,而且執行成功:
    在這裏插入圖片描述

修改pipeline源碼再次執行

接下來驗證pipeline腳本修改後可否當即生效:.net

  1. 修改Jenkinsfile文件的內容而且提交到GitHub,以下圖紅框所示,控制檯打印的內容被修改了:
    在這裏插入圖片描述
  2. 再次在Blue Ocean頁面啓動任務,可見更新Jenkinsfile和執行任務都成功了:
    在這裏插入圖片描述
    至此,讓Jenkins執行GitHub上的pipeline腳本的實戰就完成了,但願能給您帶來一些參考,接下來的文章中,咱們將探索更多pipeline功能;

歡迎關注個人公衆號:程序員欣宸

在這裏插入圖片描述

相關文章
相關標籤/搜索