Windows系統的Jenkins持續集成環境
如題:本文將介紹如何在Windows環境下運用Jenkins部署持續集成環境。之因此寫本文,是由於在最近工做當中,學習使用Jenkins時,確實遇到了一些問題,而大多數教程文檔都是基於Mac或是Linux平臺。爲此非常頭疼,通過一番摸索,終於走通了Windows平臺下的一條路。html
本CI系統流程:Dev提交代碼,並merge到master分支-->Jenkns獲取最新代碼,開始構建(解析git觸發響應,build solution,run automation,get result都在此步內完成)-->構建完成發送郵件。node
首先,下載安裝Jenkins:https://jenkins.io/git
安裝完成以後能夠經過訪問 http://hostname:8080 進入管理頁面。選擇:Manage Jenkins"。windows
在右側列表中選中"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的右鍵屬性中查看。ui
建立好了node,咱們就和某一臺server鏈接上了,接下來咱們須要去建立job,去完成咱們須要作的工做。url
回到Jenkins主頁面,點擊"New Item",這裏我選擇使用"Freestyle Project"。編輯好項目名稱,描述以後,咱們能夠定義清楚過期的build。這裏我定義爲保留7天之內的build,並規定最多隻保留10個build。spa
前面介紹過,本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系統就創建起來了。