Jenkins + Github的持續集成環境

搭建持續集成首先要了解什麼是持續集成,帶著明確的目標去搭建持續集成環境才能讓我們少走很多彎路。持續集成(Continuous integration)簡稱CI,是一種軟件開發的實踐,可以讓團隊在持續集成的基礎上收到反饋並加以改進,不必等到開發的後期才尋找和修復缺陷。當然要明白的是持續集成環境的搭建也不是一勞永逸的,隨著軟件項目複雜度的增加,持續集成的環境同樣要加以維護以確保集成環境的可靠性。

持續集成的重要要素:

1.統一的代碼庫。

2.CI服務器

3.自動化測試和構建的腳本

4.Slaves

持續集成的流程:CI服務器控制持續集成的整個過程,輪詢代碼庫更新,根據預定義的腳本進行項目的構建,服務器將任務分配到Slave端。這就是整個持續集成的過程,我們需要根據我們的項目需求,制定好一個完善的持續集成方案,然後根據方案選擇CI服務器和版本管理軟件,我們的項目選擇了Jenkins+Github的持續集成環境,這也是我要主要和大家講述的。

為什麼要選擇Jenkins?

Jenins是現在非常流行的持續集成CI服務器,這與它的前身Hudson也有著很大的關係,Jenkins易於安裝,不需要數據庫的支持,直接通過Web界面進行配置,而且集成了RSS/Email的通知機制,支持分佈式構建,具有豐富的插件,這些都是Jenkins相比其他持續集成服務器的優勢所在。

對於版本控制軟件的選擇要看項目需要了,可能是SVN也可能是Git,一般來說Jenkins都有提供插件支持,下面講解一下Jenins+Github持續集成環境搭建的細節。

這個持續集成環境構建的主要流程就是Jenins會在後臺運行,輪詢版本控制的存儲庫,當發現版本庫出現變更,就會通過預定義的構建腳本進行項目的構建,Jenkins會根據項目需求將構建的任務分配到Slave端。一般的項目構建過程主要分為自動化編譯和自動化測試兩個階段,這同樣是你腳本發揮作用的階段。

1.Jenkins安裝

進入Jenkins官方網站下載最新的Jenkins,Jenkins提供war包的下載和各種操作系統的安裝文件,選擇war包即可。

Jenkins的啟動方法有兩種:

第一種是使用tomcat直接打開,就是把jenkins.war放入tomcat下的webapps目錄下,當啟動jenkins時,就會自動在webapps下建立jenkins目錄。然後再瀏覽器的地址欄輸入
http://localhost:8080/jenkins

另一種方法要確保系統中安裝了jdk,並且配置了環境變量,檢測方法就是在命令行輸入java回車後有多行的命令符提示。直接在命令行輸入java -jar jenkins.war即可啟動jenkins,默認會運行在8080端口,切換到瀏覽器的地址欄輸入http;//localhots:8080,localhost可以改成ip地址。

看到Jenkins的頁面說明jenkins已經部署成功了。

2.插件安裝 在"系統管理->插件管理"下可以看到Jenkins缺省安裝了CVS,Subversion,Maven和SSH,這些主要是版本控制的軟件的相應插件,不過我們使用的是GitHub進行版本控制,所以要在可選插件中選擇安裝Git plugin和GitHub plugin插件,安裝之後重新啟動就可以看到新的插件已經生效。3.環境配置 進入"系統管理->系統設置"設置Jenkins的相關參數。主要是設置Git和GitHub插件的參數,在Git下的Path to executable一欄添加本機的git.exe的路徑,在Git plugin下的添加本地Git的user.name和user.email的信息,在GitHub Web Hook下添加GitHub賬戶的相關信息。如果想要使用郵件的功能,需要在郵件通知的一欄添加SMTP服務器和郵箱的相關信息,添加後點擊Test的按鈕測試一下能否正常發送郵件,這一功能可以在後面的項目中使Email Notification功能得以正常使用。

4.構建項目

點擊"新Job",輸入"任務名稱",選擇"構建一個自由風格的軟件項目",點擊"OK"。系統自動進入"任務配置"界面。

5.配置構建方法 在GitHub project中輸入git地址。

Jenkins + Github的持續集成環境


在"源碼管理->Git"下的Repository URL輸入Repository的Git地址(PS:可以選擇分支)。

在"構建觸發器"中選擇"Build when a change is pushed to GitHub "和"Poll SCM ",這兩項的作用分別是當GitHub有版本庫更新時觸發Jenkins進行構建和定期檢查版本庫是否有更新,如果有更新則觸發Jenkins進行構建。這裡要注意Schedule語法,例如"*/2 * * * *"表示每隔2分鐘檢查一次。

點擊增加構建步驟,選擇Execute Windows batch command,並輸入 "%VS10COMNTOOLS%..\IDE\devenv.com" "%WORKSPACE%\Test.sln" /Build "Debug|Win32",devenv.com是MSVC提供的命令行構建工具,這裡的"%VS10COMNTOOLS%..\IDE\devenv.com"為devenv.com的路徑,如果沒有配置響應的環境變量,構建的時候就會找不到路徑,所以可以用devenv.com的實際路徑代替。在"構建後操作"中可以添加發送郵件的相關信息。

點擊保存,項目的配置就完成了,點擊立即構建,Jenkin就會從github上將代碼clone下來,這裡我在github上存放了一個HelloWorld的vs項目,所以我的命令行為"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com" "%WORKSPACE%\HelloWorld\HelloWorld.sln" /Build "Debug|Win32",然後自動編譯項目,如果構建成功會是藍色標記,如果構建失敗會是紅色標記。

構建完成後可以在項目中看到項目構建的具體信息,如工作區、變更集和每次構建的控制檯輸出等。這就是一個基本的基於Jenkins和GitHub的持續集成環境的搭建。


分享到:


相關文章: