1. 程式人生 > >Windows下Jenkins環境搭建

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系統就建立起來了。