Jenkins是什么?
Jenkins 是一個(gè)可擴(kuò)展的持續(xù)集成引擎。
主要用于:
持續(xù)、自動(dòng)地構(gòu)建/測(cè)試軟件項(xiàng)目。
? ?監(jiān)控一些定時(shí)執(zhí)行的任務(wù)。
Jenkins擁有的特性包括:
易于安裝-只要把jenkins.war部署到servlet容器,不需要數(shù)據(jù)庫支持。
易于配置-所有配置都是通過其提供的web界面實(shí)現(xiàn)。
集成RSS/E-mail通過RSS發(fā)布構(gòu)建結(jié)果或當(dāng)構(gòu)建完成時(shí)通過e-mail通知。
生成JUnit/TestNG測(cè)試報(bào)告。
分布式構(gòu)建支持Jenkins能夠讓多臺(tái)計(jì)算機(jī)一起構(gòu)建/測(cè)試。
文件識(shí)別:Jenkins能夠跟蹤哪次構(gòu)建生成哪些jar,哪次構(gòu)建使用哪個(gè)版本的jar等。
插件支持:支持?jǐn)U展插件,你可以開發(fā)適合自己團(tuán)隊(duì)使用的工具。
Jenkins的常用功能
Jenkins其實(shí)就是一個(gè)工具,這個(gè)工具的作用就是調(diào)用各種其他的工具來達(dá)成你的目的。
1、備份、遷移、恢復(fù)jenkins
首先找到JENKINS_HOME,因?yàn)镴enkins的所有的數(shù)據(jù)都是以文件的形式存放在JENKINS_HOME目錄中。不管是遷移還是備份,只需要操作JENKINS_HOME就行了。
遷移:建議將JENKINS_HOME打包后在拷貝,windows可以用zip,rar等,Linux有zip,tar等,然后將打包的文件解壓到新的JENKINS_HOME目錄就行了。
備份:如果是臨時(shí)備份,整個(gè)壓縮文件就行了。
恢復(fù):恢復(fù)的時(shí)候需要先停止jenkins。
2、升級(jí)Jenkins
Jenkins的開發(fā)迭代非???,每周發(fā)布一個(gè)開發(fā)版本,長(zhǎng)期支持版每半年更新一次(ps:大版本更新)。如此頻繁的更新,怎么升級(jí)呢?
war:下載新版的war文件,替換舊版本war文件。重啟即可。
二進(jìn)制:卸載舊版本,安裝新版本即可。
Jenkins程序下載地址:http://mirrors.jenkins-ci.org/
note:升級(jí)前,請(qǐng)測(cè)試該版本和你本地?cái)?shù)據(jù)的兼容性。如何測(cè)試:將JENKINS_HOME拷貝一份到新的機(jī)器,用新版的程序啟動(dòng)。測(cè)試對(duì)應(yīng)的插件和配置。
3、移動(dòng),刪除或修改jobs
對(duì)于移動(dòng)或刪除jobs,只需要簡(jiǎn)單地移動(dòng)或刪除%JENKINS_HOEM%\jobs目錄。
對(duì)于修改jobs的名字,只需要簡(jiǎn)單地修改%JENKINS_HOEM%\jobs下對(duì)應(yīng)job的文件夾的名字。
對(duì)于不經(jīng)常使用的job,只需要對(duì)%JENKINS_HOEM%\jobs下對(duì)應(yīng)的jobs的目錄zip或tar后存儲(chǔ)到其他的地方。
4、Jenkins 啟動(dòng)時(shí)的命令行參數(shù)
--httpPort=$HTTP_PORT,用來設(shè)置jenkins運(yùn)行時(shí)的web端口。
--httpsPort=$HTTP_PORT,表示使用https協(xié)議。
--httpListenAddress=$HTTP_HOST,用來指定jenkins監(jiān)聽的ip范圍,默認(rèn)為所有的ip都可以訪問此jenkins server。
5、修改jenkins的timezone
如果jenkins所在的server的timezone不同于用戶的timezone,這時(shí)候需要修改jenkins的timezone,需要在jenkins啟動(dòng)的時(shí)候增加下列參數(shù)-Dorg.apache.commons.jelly.tags.fmt.timeZone=TZ
6、通過腳本啟動(dòng)jenkins
set JENKINS_HOME=C:\Documents and Settings\Administrator\.hudson
cd /d %JENKINS_HOME%
java -jar jenkins.war --httpPort=8080
保存文件名為startjenkins.bat
7、查看jenkins的系統(tǒng)信息
以在jenkins的管理頁面下的系統(tǒng)信息中,查看所有的jenkins的信息,例如jenkins的啟動(dòng)配置,所依賴的系統(tǒng)的環(huán)境變量,所安裝的plugins。
8、作為windows服務(wù)啟動(dòng)
1) 、Jenkins-系統(tǒng)管理,點(diǎn)擊“Install as Windows Service”
?
2)、點(diǎn)擊安裝
?
3)、安裝完成后,詢問是否要停止jenkins用windows服務(wù)重新啟動(dòng),選擇yes.
?
此時(shí),在windows服務(wù)中可以看到一個(gè)名稱為jenkins的服務(wù)名。
?
可以設(shè)置啟動(dòng)或停止。
4)、刪除windows服務(wù)方法
開始——運(yùn)行——cmd.exe,然后輸入sc就可以看到了。使用辦法很簡(jiǎn)單:
sc delete “服務(wù)名” (如果服務(wù)名中間有空格,就需要前后加引號(hào))
?
9、Jenkins中執(zhí)行batch和Python(本人暫時(shí)未用到此功能,先記錄保留)
Jenkins的job-》build 支持Ant,maven,windows batch和Shell, 但是我們知道python,perl,ruby等腳本其實(shí)也是shell腳本,所以這里的Shell可以擴(kuò)展為python,perl,ruby等。如下圖:執(zhí)行windows batch 和python
?
10、介紹一些常用的Jenkins插件
插件下載地址:https://wiki.jenkins-ci.org/display/JENKINS/Plugins 或 http://updates.jenkins-ci.org/download/plugins/
perforce的label功能來對(duì)成功的build進(jìn)行l(wèi)abel
Dashboard View 用來自定義自己的主頁
Deploy Plugin插件支持將War/Jar部署到遠(yuǎn)程的應(yīng)用服務(wù)器上,例如Tomcat,JBoss,Glassfish。正在尋找或開發(fā).NET web 應(yīng)用的自動(dòng)發(fā)布插件。
NUnit Plugin
JIRA Plugin
Bugzilla Plugin
Trac Plugin
Readmine Plugin
Static Code Analysis Plug-ins
Publish Over FTP Plugin這個(gè)插件可以將構(gòu)建的產(chǎn)物(例如:Jar)發(fā)布到FTP中去。
Publish Over SSH這個(gè)插件可以通過ssh連接其他Linux機(jī)器
JobConfigHistory Plugin 非常有用,可以查看job歷史配置信息sidebar links這個(gè)插件不錯(cuò),可以添加一些鏈接到j(luò)enkins上,比如把fitnesse的測(cè)試集鏈接添加到上面,方便訪問。
11、Jenkins的svn插件無法獲取到最新的源代碼?
A:請(qǐng)檢查你的SVN服務(wù)器時(shí)間和Jenkins服務(wù)器時(shí)間是否同步。
評(píng)論