https://my.oschina.net/denglz/blog/524154
摘要: jenkins + maven + svn + tomcat 自動部署
????jenkins ?是做什么用的,如果不知道請自行google? ?
????通俗的說 ?jenkins 可以幫助我們編譯發(fā)布代碼仔引,比如我們提交到SVN后,要發(fā)布運行翘簇,就可以用過jenkins進行編譯運行
環(huán)境(這里主要標注下我的環(huán)境):
1: SVN服務器 項目檢出地址?https://192.168.1.22/svn/trunk/crm(centos)
2: maven ?私服http://192.168.1.23:8080(cnetos)
3: tomcat web serverhttp://192.168.1.24:10086 ? (centos) ? #這個tomcat我使用的不是8080因為這個端口要讓jenkins來使用.當然這些不是固定的!!
????注: 因為我這邊是測試環(huán)境,就吧jemkins放到了tomcat web server 上.
正式部署jenkins
A:登錄192.168.1.24部署jenkins ?#我使用的帳號是root,你可以用其它的.
這臺機器安裝了tomcat7 和 JDK8, 主要用到了下面兩個環(huán)境變量.
export JAVA_HOME=/usr/local/jdk8????????????#環(huán)境變量
export CATALINA_HOME=/usr/local/tomcat7????
mkdir -p?/usr/local/jenkins ?#用來存放下載的jenkins
下載地址:http://mirrors.jenkins-ci.org/war/在這里選擇安裝版本
wget?http://mirrors.jenkins-ci.org/war/1.588/jenkins.war
????#我這里下載的版本是?1.588 ?是14年11月更新的. ?我安裝最新的版本的時候沒能正確安裝部署war到tomcat server的插件...能力問題..
執(zhí)行命令 ?java -jar jenkins.war ? ? ? ?#如果報類似下面的警告執(zhí)行這個命令 ?java -Dhudson.DNSMultiCast.disabled=true -jar jenkins.war
十一月?19,?2014?4:13:12下午javax.jmdns.impl.DNSIncomingreadAnswer警告:TherewasanOPTanswer.Notcurrentlyhandled.Optioncode:?65002data:?6DE368DADD8543B8
一般情況到此安裝結束. ?訪問http:192.168.1.24:8080 ?就能出現jenkins界面 ?#jenkins默認使用8080 ?更改端口需要在執(zhí)行命令的時候添加參數.
注: 執(zhí)行?java -jar jenkins.war 命令以后 ?在當期用戶的家目錄會生成一個.jenkins目錄, ?以后創(chuàng)建的項目,編譯生成的war文件都在里面. 如果剛部署好里面應該沒有這么多文件.
B: 項目的添加 ? ?#這個項目的流程 從svn檢測代碼---> 編譯----->發(fā)布到tomcat webapps目錄.
1:點擊 左上角的"新建" 出現下面的界面
注:為例方便我們的java開發(fā)人員我們搭建了一個maven私服 , 在crm項目的pom文件里配置了maven私服的地址,在jenkins編譯java代碼的時候遇到需要jar包回到我們的maven私服去下載.
2:配置crm項目里面的各項內容
a:配置subversion ?如圖
????選擇Subversion ? 配置 Repository URL ? 配置你svn里面的項目,然后會提示你配置檢出項目的用戶與密碼. 其選項默認
b:點擊 "增加構建后操作步驟" 選擇 "Deploy war/ear to a contalner" ?這個選項是安裝插件以后才有的. ?安裝"Deploy Plugin"插件.
注: 插件下載地址:http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/plugins/deploy/1.10/deploy.hpi下載插件以后通過 系統(tǒng)管理-->管理插件-->高級 上傳插件 然后重啟jenkins( 下載地址時間長了也許會失效)
c:配置有關編譯好的war目錄與tomcat的相關配置
????WAR/EAR files 這個里面配置的是:相對于jenkins的workspace目錄的相對路徑. ?我的全路徑是/root/.jenkins/workspace/crm/crm.adminWeb/target/crm.adminWeb.war ?
context path ?/ ? #/ 代表的是會把crm.adminWeb.war 換成ROOT.war放到 tomcat的webapps目錄.
tomcat的信息主要是用戶名和密碼(來自tomcat-users.xml) ?還有tomcat訪問的地址http://192.168.1.24:10086?
到此 jenkins 部署 自動檢出發(fā)布java代碼完成... 到主界面點擊帶有綠色箭頭的圖標進行 檢出-->編譯--->發(fā)布 ?如下圖 ? #點一下就好了...反映會有一點遲鈍.
補充:?
enkins默認會存放在用戶主目錄下的.jenkins文件夾中 #這個感覺很不爽..因為jenkins目錄以后會邊的很大.....
如:Linux root用戶:/root/.jenkins
注意:這是linux版本的。windows系統(tǒng)請自行更改彻犁。這個值在Jenkins運行時是不能更改的.?請先將Jenkins停止運行凰慈。
如果查看當前Jenkins目錄:系統(tǒng)管理→系統(tǒng)設置→主目錄→/root/.jenkins(注意:用戶不同,路徑也不同)
首先移動用戶家目錄下的隱藏jenkins目錄移動到到指定的目錄下面 /storage
mv /home/.jenkins ? /storage/jenkins ??
Jenkins儲存所有的數據文件在這個目錄下. 你可以通過以下兩種方式更改:
使用你Web容器的管理工具設置JENKINS_HOME環(huán)境參數.
打開tomcat的bin目錄微谓,編輯catalina.sh文件。在#?OS?specific?support.??$var_must_?besetto?eithertrueorfalse.上面添加:exportJENKINS_HOME="/storage/jenkins"#你可以指定別的目錄在引號中填入你的路徑疾宏。
在啟動Web容器之前設置JENKINS_HOME環(huán)境變量.
用root用戶登錄編輯profile文件:vi/etc/profile在最后加入:export?JENKINS_HOME=/storage/jenkins????????#你可以指定別的目錄保存触创,退出后執(zhí)行:source/etc/profile讓配置生效
最后重啟jenkins服務就OK了!! ?
/usr/bin/java -Dhudson.DNSMultiCast.disabled=true -jar /usr/local/jenkins/jenkins.war&