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的專案看是否啟動建置:
如下圖, 表示建置已被啟動.
完成!!!