一、持續集成和Jenkins
Jenkins是一款成功的用來監控重複工作執行的應用軟件:構建軟件項目、cron job等。目前jenkins專注在下面兩個工作:(1)持續的構建/測試軟件。本質上,Jenkins提供了一個易用的持續集成系統。(2)監控外部工作的執行。比如cron job二、Jenkins安裝和運行
Jenkins安裝包以war包形式發行。首先去http://jenkins-ci.org/下載安裝包。在安裝jenkins之前確保JDK和JRE正確安裝,推薦JDK7/JRE7及其以上。運行命令 java -jar jenkins.war 即可在默認端口8080啓動。其他啓動方式請參看https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins訪問http://127.0.0.1:8080/三、Jenkins配置工作任務
1、本地工作任務
(1)這是一個maven項目,所以先在系統設置裏配置JDK和Maven系統管理->系統配置JDK安裝設置JAVA_HOMEMAVEN安裝設置MAVEN_HOME(2)新Job->構建一個m2/m3項目源碼管理:none觸發器:週期性的構建(每小時一次):10 * * * *構建:ROOT POM:/root/java_workspace/my-app/pom.xmlGoals and Options:clean install
Apply
這樣一個新的構建項目主體就完成了,可以點擊“立即構建”測試
2、從SVN下載源碼構建
(1)這是一個go語言項目,所以先確保go環境已經正確安裝(2)新Job->構建一個自由風格的項目源碼管理:subversion
Repository URL是你的SVN倉庫地址:http://youcompany.com/yourgroup/trunk/dispagent
Local Module directory: dispagent
Check-out Strategy:Always check out a fresh copy
觸發器:週期性的構建(每小時一次):15 * * * *構建:
go 語言通過自定義的shell執行構建過程
cd dispagent
export GOPATH=`pwd`
go install main
Apply
這樣一個go的構建項目主體就完成了,可以點擊“立即構建”測試
3、從Githut下載源碼構建
(1)這同樣是一個maven項目,所以先在系統設置裏配置JDK和Maven,還要安裝git插件系統管理->系統配置
JDK安裝設置JAVA_HOME
MAVEN安裝設置MAVEN_HOME
系統管理->插件管理
安裝下面三個插件
SSH Credentials Plugin
Git Client Plugin
Git Plugin
源碼管理:git
Repository URL:http://github.com/zdq0394/orchid.git(讀者也可以配置進行測試)
觸發器:週期性的構建(每小時一次):10 * * * *構建:
Root POM: pom.xml
Goals and options:clean package
Apply
這樣一個新的構建項目主體就完成了,可以點擊“立即構建”測試
四、配置郵件通知
系統管理->系統設置->郵件通知
配置SMTP服務器:smtp.163.com
使用SMTP認證:輸入用戶名[email protected]和密碼*******
如果測試正確:Email was successfully sent,那恭喜你配置成功。
如果測試出現下面的錯誤:
Failed to send out e-mail
com.sun.mail.smtp.SMTPSendFailedException: 501 mail from address must be same as authorization user; nested exception is: com.sun.mail.smtp.SMTPSenderFailedException: 501 mail from address must be same as authorization user
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
請檢查配置:
~/.jenkins/jenkins.model.JenkinsLocationConfiguration.xml
配置admin address
<adminAddress>[email protected]</adminAddress>
重啓後再次測試郵件配置,應該是正確的。
五、總結
本文只是粗略的介紹了幾種類型的配置:maven項目和一般的項目(go),以及分別從本地、SVN庫和git庫獲取源碼構建的過程。實際的構建過程會更精細和複雜,讀者可以仔細閱讀規範說明然後根據自己的項目需要進行實際的配置。