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

完成!!!