配置GitHub Push自動觸發Jenkins的構建


這里以gitbook的項目為例,GitHub中的gitbook項目部署在Jenkins中,執行git push命令時自動執行Jenkins構建,其他項目只是最后的執行腳本不同

環境准備

  1. 安裝Jenkins,詳情見Jenkins安裝
  2. 配置Jenkins插件,Git,GitHub的一些相關插件
  3. 安裝gitbook,見gitbook 安裝,如果你的項目不是gitbook的,這個可以不用安裝

獲取GitHub的Personal access token

  1. 進入GitHub,點擊setting,進入setting頁面,點擊左下角的Developer settings,如下圖:
  2. 跳轉到”Developer settings”頁面后,點擊左下角的Personal access tokens,如下圖:
  3. 跳轉到”Personal access tokens”頁面后,點擊右上角的Generate new token按鈕,如下圖:
  4. 可能會提示輸入GitHub密碼,輸入后跳轉到創建token的頁面,如下圖所示,隨便輸入Token description,再勾選repoadmin:repo_hook,再點擊底部的Generate token按鈕,就能產生一個新的access token,將此字符串復制到記事本,后面jenkins任務中會用到(注意:關閉這個頁面就找不到這個字符串了):

配置Jenkins

  1. 進入系統設置:
  2. 在系統設置頁面找到”GitHub”,點擊添加GitHub Server,如下圖,名稱隨便起,API URL填寫https://api.github.com憑據位置如下圖紅框所示,選中管理 Hook選擇Add ->Jenkins
  3. 彈出的頁面中,類型選擇Secret textSecret填入前面在GitHub上生成的Personal access tokens描述隨便寫一些描述信息,點擊添加完成添加.如下圖:
  4. 填寫完畢后,點擊右側的連接測試按鈕,如果信息沒有填錯,顯示的內容如下圖所示:
  5. 點擊頁面最底部的保存按鈕

GitHub的項目主頁和倉庫地址

項目主頁和倉庫地址是不同的,如下圖,紅框1中是項目主頁,點擊紅框2的按鈕后,紅框3中是倉庫地址(要用HTTPS的,不用SSH 的):

我的項目主頁:https://github.com/Mingyue12345/OpenAPI-doc

我的倉庫地址:https://github.com/Mingyue12345/OpenAPI-doc.git

Jenkins中新建構建項目

在Jenkins上新建一個名為 “openapi-doc” 的項目

接下來對Jenkins項目進行配置

源碼管理設置

上圖中每個紅框的設置如下解釋:

  1. 選擇Git
  2. Repository URL輸入倉庫地址:https://github.com/Mingyue12345/OpenAPI-doc.git
  3. Credentials創建一個Credentials,類型選擇Username with password,Username輸入GitHub賬號,Password輸入GitHub密碼,描述隨便輸入,如下圖
  4. 源碼庫瀏覽器選擇githubweb
  5. URL輸入項目主頁:https://github.com/Mingyue12345/OpenAPI-doc

構建觸發器

構建觸發器中勾選GitHub hook trigger for GiTScm polling,如下圖

構建環境和綁定

如下圖所示,勾選Use secret text(s) or file(s),下面的”憑據”選擇我們之前配置過的Personal access tokens

構建

設置構建腳本,這里選擇 執行 Shell,gitbook的項目可以這樣配置,詳細介紹如下:

  1. 執行gitbook build生成靜態頁面
  2. _book文件夾下的所有文件復制到tomcat安裝目錄的/webapps/test/
  3. 瀏覽器訪問tomcat服務器的http://ip:8080/test就可以查看這個書籍了

配置GitHub的webhook地址

webhook是通知Jenkins時的請求地址,用來填寫到GitHub上,這樣GitHub就能通過該地址通知到Jenkins;
假設登錄Jenkins的地址是: http://192.168.0.1:8080/jenkins,那么webhook地址就是 http://192.168.0.1:8080/jenkins/github-webhook

  1. 登錄GitHub,進入要本次構建用到的工程;
  2. 在工程主頁面點擊右上角的Settings,再點擊左側Webhooks,然后點擊Add webhook,如下圖:
  3. Payload URL位置填入webhook地址,再點擊底部的Add webhook按鈕,這樣就完成webhook配置了,今后當前工程有代碼提交,GitHub就會向此webhook地址發請求,通知Jenkins構建

測試

可以先在Jenkins的項目頁面點擊立即構建手動執行一下構建,如果成功的話,可以測試一下執行push命令以后能不能自動構建


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM