一步步部署基于Windows系統的Jenkins持續內建環境
如題:本文将介紹如何在Windows環境下運用Jenkins部署持續內建環境。之是以寫本文,是因為在最近工作當中,學習使用Jenkins時,确實遇到了一些問題,而大多數教程文檔都是基于Mac或是Linux平台。為此很是頭疼,經過一番摸索,終于走通了Windows平台下的一條路。
本CI系統流程:Dev送出代碼,并merge到master分支-->Jenkns擷取最新代碼,開始建構(解析git觸發響應,build solution,run automation,get result都在此步内完成)-->建構完成發送郵件。
首先,下載下傳安裝Jenkins:https://jenkins.io/
安裝完成之後可以通過通路 http://hostname:8080 進入管理頁面。選擇:Manage Jenkins"。

在右側清單中選中"Configure Global Secuity",選中"Allow user to sign up",然後就可以提前注冊好要賦權限的賬戶。若以後不允許新管理賬戶的注冊,在取消此選中項。
接下來,在代理項下,展開代理協定,并全部選中。此處選中之後,會啟用"Java Web Start Agent",否則其在建立slave時處于不可見狀态。(使用此代理,還需提前安裝Java,到Java官網下載下傳一個安裝即可)
再回到"Manage Jenkins"界面,選擇"Manage Node",點選"New Node"建立一個新的slave,這裡我們選擇"Permanent Agent",也可以選擇從已有的slave複制出新的節點。填寫名稱,遠端根目錄和标簽,啟動方法選擇如圖。這裡的遠端目錄用于存儲Jenkins用戶端運作檔案。其他設定預設值就可以了:
好了,到這裡一個node就建立好了。我們可以回到Node管理界面,此時建立的node是未連接配接狀态,可以在你的另外一台server,或本機上通路你的Jenkins頁面,并點選"Launch"連接配接node,并将之安裝為本地service。如果你是Win10系統,會出現安裝錯誤,這時别急,先将你的IE或這Edge以管理者的方式重新啟動,再次通路Jenkins嘗試連接配接和安裝。當你覺得要啟用這個安裝的service時,先停止服務,然後再cmd指令視窗輸入“sc delete servicename"就可以删除此服務了。servicename可以再service的右鍵屬性中檢視。
建立好了node,我們就和某一台server連接配接上了,接下來我們需要去建立job,去完成我們需要做的工作。
回到Jenkins首頁面,點選"New Item",這裡我選擇使用"Freestyle Project"。編輯好項目名稱,描述之後,我們可以定義清楚過時的build。這裡我定義為保留7天以内的build,并規定最多隻保留10個build。
前面介紹過,本CI系統響應git傳回的觸發條件,是以需要設定一個參數接收傳回的響應,并在此設定在哪個node上執行此次建構任務,即填寫建立node時設定的Label:
除了在建立node時的預設設定,我們也可以在此處設定自定義的workspace,擷取的代碼将存儲在此處:
在源代碼管理項中,我們選用Git,設定好相應的git項目url和通路的使用者名和密碼,分支選預設的master:
擷取了代碼之後,選擇觸發方式,如果時定時輪詢的方式,選擇"Poll SCM",設定間隔時間即可。需要每次送出都響應,這裡我選擇遠端觸發"Trigger builds remotely",設定一個token值待用。
這時,我們需要到Git網站代碼管理設定頁面,添加一個"Hooks & services",并啟用"Pull request"。Payload URL的格式按照上面設定的token下提示的格式設定:
完成以上步驟之後,Job的運作環境基本上就已經設定成功了,接下來就是建構自動化運作腳本了。
回到剛才的Job編輯頁面,繼續往下走,點選"Add build step",在下拉框中可以看到,Jenkins支援的腳本語言十分豐富。這裡我們會用到Window batch和Widows PowerShell。在這裡寫入你的業務處理腳本,儲存一下。比如輸出"Jenkins CI",在Windows batch框中輸入"echo Jenkins CI",儲存,就可以了。
最後,需要在腳本完成之後自動發送郵件。來看看是如何配置的:
配置郵件通知之前,我們需要到"Configure System"中設定一下郵件系統的基本配置。
首先,填寫好Jenkins通路位址和發件人郵箱位址。
接下來,設定SMTP郵件伺服器和一些預設值,包括接收對象,主題,内容等等。如此,最簡單的郵件發送配置就完成了。後面來設定具體的郵件通知。
還是回到Job編輯頁面,找到"Post-build Actions"并選擇"Editable Email Notification"。設定實際的接收人,内容格式和預設主題。并設定預設内容,可以配合環境變量(此處不做詳解)參數化、格式化内容文體。
需要發送附件的,還可以對附件的路徑、名稱進行設定。最後設定好郵件發送觸發條件就OK了。
這樣,一個完整的Windows平台下的CI系統就建立起來了。