前提條件1: 運行Jenkins的機器需要安裝git,並且git.exe文件在系統的環境變量里面,或者手動在 Manage Jenkins -> Global Tool Configuration -> Git -> Add git中配置。git用來從從github上拉取代碼,
前提條件2: 有一個在GitHub上存在的Repository。
前提條件3: Python.exe已經配置在環境變量里面。
1. 在jenkins上一個job,類型為 Freestyle project。
2. 在項目的配置中,Source選擇 git,並輸入Reponsitory的url。
備注:
Creentials: 添加github賬號,添加的賬號需要對repository有寫的權限。
Branches to build: 選擇一個監聽的branch
3. Build選擇 Execute Windows batch command。
輸入command
python JenkinsTest.py
4. Build now,保證能build成功,可以在Console Output中查看詳細信息。
5. 在項目的配置中,選擇構建觸發器 "GitHub hook trigger for GITScm polling"。
6. 啟動ngrok服務,獲得本機8080端口的面向外網的url。
理解: 因為Jenkins的地址是http://localhost:8080,這個地址只能在本機訪問,GitHub是訪問不到這個網址的,所以要把本機的8080端口也能讓外網訪問的到暴露給外網。
通過這個網址下載ngrok: https://ngrok.com/download
打開ngrok.exe文件,運行 ngrok.exe http 8080,暴露出8080端口號。
注意: 這個只能8小時之內有效。
得到url: http://d01e74e1.ngrok.io
7. 在Jenkins中設置Jenkins的url,這個url是步驟6中得到的。
這一步也可以通過Override Hook URL來設置。
8. GitHub項目設置Webhooks
在Payload url中輸入:http://d01e74e1.ngrok.io/github-webhook/
注意: 一定要有后面的 /github-webhook
9. Push一個commit測試
10. 在Github上查看webhook的狀態
11. 此時Jenkins就應該產生一個build,在console里面查看log信息。
參考: