前面章節我們講解了Jenkins結合.net平台工具以及一些第三方工具實現項目自動還原,自動編譯,自動測試和自動發布.然而實現自動化還有一個關鍵的步驟就是監聽源碼倉庫變化然后從倉庫拉取最新代碼,然后再執行剛才所說的步驟.
下面就講一下Jenkins如何監聽git倉庫變化,如果有變化則拉取最新代碼進行編譯,測試和發布.
首先打開Jenkins,我們新建一個名為PollSCM的freestyle項目,
我們以前只用到了Build欄,這里我們要設置Souce Code Management欄
默認的選項是None無任何源代碼管理工具,這里要結合的是Git,所我以們選擇Git
選擇了git以后出現以上界面,其中Repository Url為git倉庫的地址,我們輸入自動項目倉庫的git地址.
下面是密碼我們點擊Add,出現以下界面
這里我們輸入用戶名,密碼這兩個是關鍵的,id和description可以輸也可以不輸,完成后點擊Add
這時候Credentials欄會出現一個下拉框
我們選擇剛才添加的用戶名和密碼
下面是分支,由於測試倉庫中只有一個master傳分支,作為演示我們就使用master分支.
然后往下拉到Builder Triggers欄
這一欄之前我們使用過build periodically,這里我們選擇Poll SCM,就是不斷輪訓SCM的變化,如果有變化則拉取
我們勾選Poll SCM后出現上面內容,我們在Schedule里輸入* * * * * 這里的*並不是密碼,每隔一分鍾查詢一次git變化,關於git定時任務格式配置可以參看以往的文檔.
這里我們不再演示拉取后如何構建,后面會有一個完整示例.
我們點擊保存,修改本地代碼然后提交一次,過一分鍾后查看是否有構建產生.
我們修改了示例代碼庫中tools文件夾下的readme文件然后提交來觸發一次構建
提交完以后我們看到#2構建正在執行.
這里大家可能會有疑問,git拉到的項目拉到了哪里的呢.其實是拉到了Jenkins安裝目錄下的workspace下的和項目同名的文件夾中(所謂項目同名就是和我們在Jenkins管理界面創建的項目名)
我們打開Jenkins目錄下的workspace/pollscm/tools下的readme文件(這個文件原來是空的)
可以看到我們剛才提交的內容已經正確拉取了.