Build when a change is pushed to Github

這個小節來記錄如何在工程師push code到github後就立即執行建置.

  • 需要安裝的plugin

github plugin

  • 在github上為 repo 專案設定webhooks

先在github上的專案中點按 「setting」

然後點按「Webhooks」

然後按「add webhook」鍵

然後輸入 Payload URL , 就是你的jenkins的網址.

將Content type改為application/json

設定好了之後長這樣:

  • 設定Jenkins github plugin

在回到Jenkins去設定github plugin之前, 我們需要先在github取得一個access key.

先在github 畫面右上方展開功能列, 如下圖. 按「settings」

然後在左側功能列點按「Personal access tokens」, 如下圖:

再來點按「generate new token」鍵

然後輸入token descriptoion與勾選兩個區塊:

完成了之後就會產生下access key, 如下圖:

請記下你的key, 等一下會用到.

回到jenkins, 先到 Manage Jenkins -> Configure System

在github區塊, 點按「Add GitHub Server」

然後出現下列畫面:

點按「Add」 -> 「Jenkins」

然後出現這個畫面:

kind : 選擇 Secret text

Secret : 輸入剛剛在github上產生的access key

Description: 給一個名字

然後, 你可以在Credentials選擇到剛剛建好的credential:

然後按「Test connection」鍵, 會看到測試的結果, 如下圖:

OK, 終於設定好了.

  • 修改執行Maven專案的build trigger方式

回到Jenkins的專案, 將Build Triggers 的設定改為「Github hook trigger for GITScm polling」

  • 測試看看有沒有成功

接下來就可以測試看看push code到github之後有沒有立馬執行建置.

目前已執行二次建置:

然後改一下source code, 將source code push到github. 範例只是修改pom.xml的一個地方.

$vim pom.xml

$git add .

$git commit -m "update pomxml"

$git push

然後再去Jenkins的專案看是否啟動建置:

如下圖, 表示建置已被啟動.

完成!!!

results matching ""

    No results matching ""