https://my.oschina.net/denglz/blog/524154
摘要: jenkins + maven + svn + tomcat 自動部署
jenkins 是做什麼用的,如果不知道請自行google
通俗的說 jenkins 可以幫助我們編譯釋出代碼,比如我們送出到SVN後,要釋出運作,就可以用過jenkins進行編譯運作
環境(這裡主要标注下我的環境):1: SVN伺服器 項目檢出位址
https://192.168.1.22/svn/trunk/crm(centos)
2: maven 私服
http://192.168.1.23:8080(cnetos)
3: tomcat web server
http://192.168.1.24:10086 (centos) #這個tomcat我使用的不是8080因為這個端口要讓jenkins來使用.當然這些不是固定的!!
注: 因為我這邊是測試環境,就吧jemkins放到了tomcat web server 上.
正式部署jenkinsA:登入
192.168.1.24部署jenkins #我使用的帳号是root,你可以用其它的.
這台機器安裝了tomcat7 和 JDK8, 主要用到了下面兩個環境變量.
export JAVA_HOME=/usr/local/jdk8 #環境變量
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的插件...能力問題..
執行指令 java -jar jenkins.war #如果報類似下面的警告執行這個指令 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 更改端口需要在執行指令的時候添加參數.
注: 執行 java -jar jenkins.war 指令以後 在當期使用者的家目錄會生成一個.jenkins目錄, 以後建立的項目,編譯生成的war檔案都在裡面. 如果剛部署好裡面應該沒有這麼多檔案.
B: 項目的添加 #這個項目的流程 從svn檢測代碼---> 編譯----->釋出到tomcat webapps目錄.
1:點選 左上角的"建立" 出現下面的界面
注:為例友善我們的java開發人員我們搭建了一個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下載下傳插件以後通過 系統管理-->管理插件-->進階 上傳插件 然後重新開機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通路的位址
:10086
到此 jenkins 部署 自動檢出釋出java代碼完成... 到主界面點選帶有綠色箭頭的圖示進行 檢出-->編譯--->釋出 如下圖 #點一下就好了...反映會有一點遲鈍.
補充:
enkins預設會存放在使用者主目錄下的.jenkins檔案夾中 #這個感覺很不爽..因為jenkins目錄以後會邊的很大.....
如:Linux root使用者:/root/.jenkins
注意:這是linux版本的。windows系統請自行更改。這個值在Jenkins運作時是不能更改的. 請先将Jenkins停止運作。
如果檢視目前Jenkins目錄:系統管理→系統設定→主目錄→/root/.jenkins(注意:使用者不同,路徑也不同)
首先移動使用者家目錄下的隐藏jenkins目錄移動到到指定的目錄下面 /storage
mv /home/.jenkins /storage/jenkins
Jenkins儲存所有的資料檔案在這個目錄下. 你可以通過以下兩種方式更改:
使用你Web容器的管理工具設定JENKINS_HOME環境參數.
打開tomcat的bin目錄,編輯catalina.sh檔案。在# OS specific support. $var_must_ besetto eithertrueorfalse.上面添加:exportJENKINS_HOME="/storage/jenkins"#你可以指定别的目錄在引号中填入你的路徑。
在啟動Web容器之前設定JENKINS_HOME環境變量.
用root使用者登入編輯profile檔案:vi/etc/profile在最後加入:export JENKINS_HOME=/storage/jenkins #你可以指定别的目錄儲存,退出後執行:source/etc/profile讓配置生效
最後重新開機jenkins服務就OK了!!
/usr/bin/java -Dhudson.DNSMultiCast.disabled=true -jar /usr/local/jenkins/jenkins.war&