日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实战:向GitHub提交代码时触发Jenkins自动构建

發布時間:2025/5/22 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实战:向GitHub提交代码时触发Jenkins自动构建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當我們提交代碼到GitHub后,可以在Jenkins上執行構建,但是每次都要動手去執行略顯麻煩,今天我們就來實戰Jenkins的自動構建功能,每次提交代碼到GitHub后,Jenkins會進行自動構建;

原文地址:http://blog.csdn.net/boling_cavalry/article/details/78943061

前期準備工作

進行本章的實戰前,推薦您參照《docker下的Jenkins安裝和體驗》做安裝和體驗的實戰,以便對Jenkins服務有初步了解;

重要前提

  • GitHub收到提交的代碼后要主動通知Jenkins,所以Jenkins所在服務器一定要有外網IP,否則GitHub無法訪問,我的Jenkins服務器是部署在騰訊云的云主機上,帶有外網IP;
  • 本次實戰要提交源碼到GitHub,所以您需要有一個GitHub號,并在上面創建工程;
  • demo工程源碼

    本次用來在Jenkins上構建的工程是個springboot的web工程,地址是:git@github.com:zq2599/jenkinsdemo.git,用瀏覽器訪問的地址是:https://github.com/zq2599/jenkinsdemo.git;?
    代碼很簡單,只有一個controller,接收http請求返回一個字符串,如下所示:

    @RestController public class Hello {@RequestMapping("/")public String sayHello(){return "3. Hello jenkins, " + new Date();} }

    您需要在自己的GitHub創建一個項目,源碼可以參照上述demo工程的源碼;

    實戰步驟梳理

    本次整個實戰過程依次為如下步驟:?
    1. GitHub上準備一個spring boot的web工程;?
    2. GitHub上配置Jenkins的webhook地址;?
    3. 在GitHub上創建一個access token,Jenkins做一些需要權限的操作的時候就用這個access token去鑒權;?
    4. Jenkins安裝GitHub Plugin插件;?
    5. Jenkins配置GitHub訪問權限;?
    6. Jenkins上創建一個構建項目,對應的源碼是步驟1中的web工程;?
    7. 修改web工程的源碼,并提交到GitHub上;?
    8. 檢查Jenkins的構建項目是否被觸發自動構建,構建成功后,下載工程運行,看是不是基于最新的代碼構建的;

    webhook地址

    webhook是通知Jenkins時的請求地址,用來填寫到GitHub上,這樣GitHub就能通過該地址通知到Jenkins;?
    假設Jenkins所在服務器的地址是:192.168.0.1,端口為8080,那么webhook地址就是http://192.168.0.1:8080/github-webhook

    再次提醒,上述地址必須是外網也能訪問的,否則GitHub無法訪問到Jenkins;

    配置GitHub

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

    Jenkins訪問GitHub工程的時候,有的操作是需要授權的,所以我們要在GitHub上生成授權的token給Jenkins使用,這就是Personal access tokens,生成步驟如下:?
    1. 登錄GitHub,進入”Settings”頁面,點擊左下角的”Developer settings”,如下圖:?
    ?
    2. 跳轉到”Developer settings”頁面后,點擊左下角的“Personal access tokens”,如下圖:?
    ?
    3. 跳轉到”Personal access tokens”頁面后,點擊右上角的”Generate new token”按鈕,如下圖:?
    ?
    4. 可能會提示輸入GitHub密碼,輸入后跳轉到創建token的頁面,如下圖所示,輸入title,再勾選”repo”和”admin:repo_hook”,再點擊底部的”Generate token”按鈕,就能產生一個新的access token,將此字符串復制下來,后面jenkins任務中會用到:?

    Jenkins配置

  • GitHub Plugin插件,在”系統管理->管理插件”位置檢查此插件是否已經安裝,沒有的話請先安裝;
  • 配置GitHub,點擊“系統管理->系統設置”,如下圖:?
  • 在系統設置頁面找到”GitHub”,配置一個”GitHub Server”,如下圖,”API URL”填寫”https://api.github.com“,”Credentials”位置如下圖紅框所示,選擇”Add->Jenkins”:?
  • 彈出的頁面中,”Kind”選擇”Secret text”,”Secret”填入前面在GitHub上生成的Personal access tokens,Description隨便寫一些描述信息,如下圖:?
  • 填寫完畢后,點擊右側的”Test connection”按鈕,如果信息沒有填錯,顯示的內容如下圖所示:?
  • 點擊頁面最底部的”保存”按鈕;
  • GitHub項目的項目主頁和倉庫地址

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

    項目主頁:https://github.com/zq2599/jenkinsdemo?
    倉庫地址:https://github.com/zq2599/jenkinsdemo.git

    新建構建項目

    在Jenkins上新建一個maven構建項目,名為test003,如下圖:?

    接下來設置test003的配置信息,分為”源碼管理設置”和”構建環境設置”兩部分;

    源碼管理設置

    ?
    上圖中每個紅框的設置如下解釋:?
    1. 選擇”Git”;?
    2. “Repository URL”輸入倉庫地址:https://github.com/zq2599/jenkinsdemo.git;?
    3. “Credentials”創建一個Credentials,Kind選擇”Username with password”,Username輸入GitHub賬號,Password輸入GitHub密碼;?
    4. “源碼庫瀏覽器”選擇”githubweb”;?
    5. “URL”輸入項目主頁:https://github.com/zq2599/jenkinsdemo;?
    6. “構建觸發器”中勾選”GitHub hook trigger for GiTScm polling”;

    構建環境設置

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

    設置完成后,點擊頁面底部的”保存”按鈕;

    修改web工程代碼并提交到GitHub

    將GitHub倉庫的代碼clone到本地,做一些修改然后提交到GitHub上,例如我修改了Hello.java中的源碼(修改了sayHello方法的return的字符串的內容),如下所示:

    @RestController public class Hello {@RequestMapping("/")public String sayHello(){//修改返回的字符串的內容return "abcdefg. Hello jenkins, " + new Date();} }

    提交到GitHub的操作如下圖所示:?

    Jenkins自動構建

    回到Jenkins的test003頁面,可以看到已經開始自動構建了,如下圖:?

    驗證自動構建結果

  • 在test003的頁面,點擊”工作空間”->”工作區”,如下圖:?
  • 點擊下圖紅框中的”mavendockerplugindemo-0.0.1-SNAPSHOT.jar”,瀏覽器就會下載這個文件:?
  • 下載成功后,在mavendockerplugindemo-0.0.1-SNAPSHOT.jar所在目錄下執行命令java -jar mavendockerplugindemo-0.0.1-SNAPSHOT.jar,web應用啟動成功,如下圖:?
  • 瀏覽器輸入localhost:8080,可以看到web應用返回的內容是我們剛剛提交的最新內容,如下圖:?
  • 至此,GitHub提交觸發Jenkins自動構建的實戰就完成了,希望能對您搭建持續構建環境有所幫助。

    轉載于:https://www.cnblogs.com/yhaing/p/8568076.html

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的实战:向GitHub提交代码时触发Jenkins自动构建的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。