1. 程式人生 > >jenkins + Git 搭建持續集成環境

jenkins + Git 搭建持續集成環境

lds pos apach plugin 更換 htm 共享目錄 parse 段落

持續集成通過自動化構建、自動化測試以及自動化部署加上較高的集成頻率保證了開發系統中的問題能迅速被發現和修復,降低了集成失敗的風險,使得系統在開發中始終保持在一個穩定健康的集成狀態。jenkins是目前廣泛應用的持續集成工具,本文記錄我使用jenkins+Git配置持續集成環境的整個流程以及踩到的坑(jenkins過程的坑往往不是在第一次配置,而是在配置結束後更改某些配置項的時候踩到)。

  總體流程如下:

技術分享圖片

  tomcat8.0下載地址:http://tomcat.apache.org/

  jenkins下載地址:http://jenkins-ci.org/

  下載完畢後,將jenkins.war丟入tomcat/webapps目錄下。

  默認情況下,jenkins的工作空間會放到C:\Users\Account\.jenkins目錄下,技術分享圖片,如過想要更改工作空間,我們需要在系統環境變量裏面配置JENKINS_HOME變量,將該變量指向目標工作空間。這裏需要註意的是,tomcat啟動情況下,jenkins不會去讀JENKINS_HOME變量,必須要重啟tomcat。而重啟tomcat也是有坑的,如果tomcat是通過命令行執行tomcat/bin/startup.bat目錄啟動的,那麽單單停掉tomcat沒用,必須要將前面提到的命令行一並關閉掉,這時重啟tomcat,jenkins才會使用JENKINS_HOME中配置的目錄作為工作空間。此外,一旦更換工作空間,此前過於jenkins的所有配置都將作廢

  我們的產品使用Git作為版本管理工具,而jenkins需要git插件來支持git,所以我們需要為jenkins添加git插件。

技術分享圖片

  在Available tab頁中找到Git Plugin

技術分享圖片

  點擊下方的Install without Restart安裝插件。

  插件安裝完畢後,我們需要在jenkins中配置Git.exe的位置。

技術分享圖片

  點擊保存,jenkins整體的配置可以告一段落,下面我們來創建和配置job。

  

  點擊左側的New Item,選擇一個自由風格的job,點擊OK。

技術分享圖片

  在源碼管理工具(Source Code Management)中選擇Git,添加Git倉庫、添加Git證書、選擇一個分支:

技術分享圖片

  關於證書我們選擇,SSH形式:

技術分享圖片

  這個key跟我們在gitHub中配置公有秘鑰的道理是一樣的,jenkins調用git命令去Git服務器上pull代碼,git服務器通過檢查公鑰私鑰來保證安全性。如果機器上沒有git的ssh key需要自己動手生成一個。

  如果Git倉庫有子倉庫,我們需要對子倉庫進行配置,這裏選中循環更新所有子倉庫:

技術分享圖片

  持續集成的目的不是簡單的將源碼下載下來,而是通過持續集成進行單元測試、自動化測試、自動構建發布。所以在源碼下載完畢後需要執行的命令可以放到Buid部分:

技術分享圖片

  這裏我們使用bat命令:

cd %workspace%\client\buildScriptsbuild.bat
cd "yourPath"\buildOutput
xcopy stem \\NAO\webapp /Y /E

  上面命令的意思是:

  進入buildScripts目錄,%workspace%是jenkins提供的環境變量,指向我們job的工作空間,強烈建議使用該環境變量。

  執行build.bat命令,build.bat中調用其他命令執行build腳本。

  進入buildOutput目錄

  將buildOutput中的stem下所有內容拷貝到NAO機器的共享目錄中。

  點擊保存,進入到我們剛剛創建的job的控制界面中,點擊Build Now,便可以開始我們的持續集成的旅途了。

技術分享圖片

  點擊某一次具體的構建,我們可以查看日誌輸出:

技術分享圖片

  

  註意這裏的構建並不檢查build.bat中的錯誤和輸出,換句話說如果build.bat失敗,本次構建過程不會失敗。解決方法是使用jenkins的Log Parser插件,同使用Git Plugin一樣,在插件管理中找 Log Parser插件,並添加。添加完畢後,配置jenkins中的Console Output Parsing

技術分享圖片

  rule的具體規則語法可以使用正則表達式,具體可以參考Log Parser插件的文檔http://my.oschina.net/donhui/blog/382592

  Parsing Rules File的配置同上文的配置工作目錄具有一樣的坑,如果要更新規則,首先要清除job中選中的規則,然後刪除此處配置的Parseing Rule,重啟tomcat。

  添加完畢後,在job的配置頁的 Post-Build Actions部分選中Console Output parsing

技術分享圖片

  然後進行如下配置:

技術分享圖片

  這樣我們可以對buld.bat中的error進行捕獲,並且在某次構建過程的Parsed Console Output中進行查看

技術分享圖片

jenkins + Git 搭建持續集成環境