Hudson:持續整合工具的安裝、使用
Hudson簡介
http://hudson-ci.org
以其強大的功能和易用的介面征服了大量的使用者,它與主流的構建工具、版本控制系統以及自動化測試框架都能進行很好的整合。
很多組織和公司選擇它作為自己的持續整合工具,如
http://hudson.jboss.org/hudson
https://grid.sonatype.org/ci/
Hudson還有一個優秀之處就是它提供了靈活的外掛擴充套件框架,大量開發者基於這種機制對Hudson進行了擴充套件。
安裝Hudson
注意:Hudson必須執行在JRE1.6或更高的版本上,安裝時需要聯網
Hudson only needs a Java 6 or newer runtime. An internet connection will be required if you want to be able to install and auto-update plug-ins
http://hudson-ci.org/
安裝Hudson有兩種方式:
方式一:直接執行war(This is mostly useful for testing purposes)
1:下載hudson-3.0.0.war
2:啟動Hudson的方式是在命令列直接執行hudson.war
$cd /opt/maven
$java -jar hudson-3.0.0.war
$java -jar hudson-3.0.0.war –httpPort=8082
3:啟動完成之後,在瀏覽器位址列輸入:http://localhost:8082/訪問Hudson介面
方式二:安裝rpm(For production we recommend using native packages for simplified install )
1:下載hudson-3.0.0-1.1.noarch.rpm
2:安裝rpm
3:執行如下命令(需要root使用者操作)
cd /opt/maven
rpm -ivh hudson-3.0.0-1.1.noarch.rpm
/etc/init.d/hudson start
nohup /etc/init.d/hudson start > /opt/maven/hudson_start.log 2>&1 &
檢視hudson程式
ps -ef|grep hudson.war
4:啟動完成之後,在瀏覽器位址列輸入:http://localhost:8080/訪問Hudson介面
此rpm包做了如下工作:
Hudson will be launched as a daemon up on start. See /etc/init.d/hudson for more details.
The hudson user is created to run this service.
Log file will be placed in /var/log/hudson/hudson.log. Check this file if you are troubleshooting Hudson.
因為Hudson was written to work on unix-like platforms,所以不建議在windows上面安裝,如果安裝,則需要先UnxUtils
具體參見:http://wiki.eclipse.org/Hudson-ci/Installing_Hudson
開啟http://172.168.27.70:8080/頁面後,根據需要安裝外掛,如果選擇的很多,將需要很久的時間
如果全部安裝後,點選finished
hudson系統配置
進行系統管理–系統配置,配置JDK
JDK安裝:
JDK-1.6 /usr/java/jdk1.6.0_33
全域性MAVEN_OPTS
-Xms128M
-Xmx512M
如果開啟系統配置報:
Problem accessing /checkURIEncoding. Reason: Tried to read incomplete UTF8 decoded String
此問題在IE下存在,而在firefox下面不存在,請使用firefox瀏覽器
建立Hudson任務
任務型別選擇:構建一個自由風格的軟體專案(Build a free-style software project)
不僅支援Maven專案,還支援其他型別的構建工具,如Ant、Shell
而對於Maven使用者來說,兩者最大的不同在於前者需要使用者進行多一點配置,而後者會使用Hudson自帶的Maven,且從專案的POM中獲取足夠的資訊以免
去一些配置。
推薦使用free-style型別,這種方式更可控制,當任務出現問題的時候也更容易檢查。
1:首先是專案的名稱和描述
2:Discard Old Builds.該選項配置如何拋棄舊的構建。因為Hudson每執行一次構建任務,就可以儲存相應的原始碼、構建輸出、構建報告等檔案。
Days to keep builds
Max # of builds to keep
3:專案使用的JDK配置,這裡可以選擇的JDK就是使用者在系統設定中預定義好的JDK(當前僅僅配置了一個,不用配置)
以上三項為基本配置
Hudson任務的原始碼倉庫配置
4:Source Code Management
選擇Subversion
svn://172.168.9.101/account/trunk
一般來說,該部分的其他選項保留預設值即可。
Hudson任務的構建觸發配置
5:Build Triggers
選擇poll SCM 週期性地輪詢原始碼倉庫,發現有更新的時候構建本專案,是最常用的構建觸發方式
使用了Cron任務排程工具進行配置,如10分鐘輪詢一次
*/10 * * * *
6:Hudson任務的構建配置 Build
告訴Hudson使用執行Maven命令構建專案。從Add build step選擇Maven3
選擇Maven Version(選擇bundle) 和 Goals如clean install
clean install -Dmaven.test.failure.ignore
此引數配置構建命令忽略測試。這樣失敗的測試就不會導致構建失敗。即不穩定的構建,任務狀態為黃色。
針對account專案,需要停斷郵件服務(佔用了25埠,而greenmail測試郵件繫結此埠)
ervice sendmail stop
chkconfig sendmail off
任務執行時
hudson在
/var/lib/hudson/jobs/
根據任務的名稱構建專案
hudson繫結的Maven倉庫地址是:
/var/lib/hudson/.m2/repository
使用的使用者是hudson:hudson
配置Maven專案測試報告:
Post-build Actions
選擇Publish JUnit test result report
Test report XMLs中輸入:**/target/surefire-reports/TEST-*.xml
相關文章
- 持續整合工具Hudson安裝方法(非常簡單)
- 使用Hudson持續整合Android專案Android
- Ccover在hudson持續整合中的應用
- 持續整合工具之Jenkins安裝部署Jenkins
- 使用 Subversion、Hudson 和 Eclipse 構建持續整合系統Eclipse
- 持續整合之hudson的構建任務排程
- 整合持續整合工具
- Hudson之Asp.net持續整合設計方案。ASP.NET
- 持續化整合工具 Jenkins 在 Ubuntu 中安裝JenkinsUbuntu
- 使用開源工具進行持續整合開源工具
- 持續整合工具之Jenkins基礎使用Jenkins
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- 在Ubuntu上安裝Drone持續整合環境Ubuntu
- 持續整合、持續部署、持續交付、持續釋出
- CentOS7通過持續整合包安裝最新的MonoCentOSMono
- 持續整合、持續交付、持續部署簡介
- iOS持續整合(一)——fastlane 使用iOSAST
- Jenkins 持續整合使用教程Jenkins
- 使用GitLabCI持續整合Gitlab
- .net持續整合sonarqube篇之sonarqube安裝與基本配置
- 使用流水線外掛實現持續整合、持續部署
- 對持續整合、 持續交付、持續部署和持續釋出的介紹
- 持續整合工具TeamCity快速入門
- Yahoo!Screwdriver:可擴充套件的持續整合工具套件
- 持續整合工具CC的一些經驗
- iOS 持續整合iOS
- iOS使用fastlane實現持續整合iOSAST
- Gitlab CI持續整合 - GitLab Runner 安裝與註冊Gitlab
- 談談持續整合,持續交付,持續部署之間的區別
- 安全開發之持續整合相關工具
- 使用持續整合工具Jenkins進行Kettle作業排程Jenkins
- 淺談持續整合(CI)、持續交付(CD)、持續部署(CD)
- 『中級篇』docker之CI/CD持續整合-gitlab安裝(70)DockerGitlab
- Jenkins持續整合Jenkins
- 淺談持續整合的理解以及實現持續整合,需要做什麼?
- SAP開源的持續整合-持續交付的解決方案
- 以持續整合工具實現DevOps之禪dev
- 質量之匙:持續整合工具與實踐