jenkins + svn + maven + tomcat 持續集成引擎

Jenkins 的前身是 Hudson 是一個可擴展的持續集成引擎。java

通俗的來說,jenkins就是一個能夠實現自動化部署的一個插件,linux

對於我來講,也是應用在系統部署上。web

廢話很少說,直接進入咱們的安裝步驟吧shell

1.安裝JDK,maven環境搭建
apache

由於考慮到jenkins的實際應用場景,咱們須要把這些基礎環境先安裝完成。tomcat

jdk安裝比較簡單不作贅述,maven環境借用了osc其餘大俠的博客內容,服務器

試了下安裝成功。app

maven官網下載安裝包:http://maven.apache.org/download.cgiwebapp

本身根據需求下載版本,這裏做者選擇的是3.1.1版本。maven

1.把apache-maven-3.1.1-bin.tar.gz傳到服務器上,

解壓:

tar -zvxf apache-maven-3.1.1-bin.tar.gz

移至/usr/local下

mv apache-maven-3.1.1 /usr/local

配置環境變量

vi /etc/profile

在文件中加入

MAVEN_HOME=/usr/local/apache-maven-3.1.1
PATH=$MAVEN_HOME/bin:$PATH
export PATH CLASSPATH JAVA_HOME MAVEN_HOME

從新編譯文件

source /etc/profile

驗證maven是否安裝成功

mvn --version

控制檯顯示以下:

Apache Maven 3.1.1 (0728685237757ffbf44136acec0402957f723d9a; 2013-09-17 23:22:22+0800)

Maven home: /usr/local/apache-maven-3.1.1

Java version: 1.7.0_25, vendor: Oracle Corporation

Java home: /usr/java/jdk1.7.0_25/jre

Default locale: zh_CN, platform encoding: UTF-8

OS name: "linux", version: "2.6.32-358.6.2.el6.x86_64", arch: "amd64", family: "unix"

表示安裝成功。

2.安裝Jenkins

若是你有Jenkins.war放入tomcat/webapps目錄中便可,啓動tomcat 訪問localhost:8080/Jenkins  

看到這個就表示安裝成功。注:提示說它正在啓動什麼的,稍等下就行了。

3.使用Jenkins

3.1菜單:系統管理--》系統設置

點擊maven安裝 --》 取消勾選(會跳出填寫框)

maven 配置:
name -> Maven3
MAVEN_HOME -> /usr/local/apache-maven-3.2.5

點擊JDK安裝 --> 取消勾選(會跳出填寫框)

jdk 配置:
name --> JDK6
JAVA_HOME --> /usr/java/jdk1.6.0_45

其餘的能夠先不用配置。點擊 應用 --》 保存

3.2.任務

1.點擊新建:Item名稱 : test  勾選構建一個maven項目 點擊OK

2.源碼管理 中 勾選 Subversion --> Repository URL : https://172.6.15.121/svn/8637/Zttx-APP/trunk 若是沒有輸入帳號密碼,鼠標離開是會有提示,點擊提示便可輸入帳號密碼。直到不提示紅色錯誤

3.Build: Root POM --> pom.xml  Goals and options --> -e clean test package -DskipTests(須要執行的maven命令)

4.Post Steps : 

勾選Run only if build succeeds(maven build成功後會調用) , 點擊 add pre-build step 選擇 execute shell(執行linux 命令), 
command 中放入 
rm -f /var/www/zttx-app/web/ROOT.war (移除tomcat項目中的原來項目)
rm -rf /var/www/zttx-app/web/ROOT  
cp /root/.jenkins/jobs/Zttx_Mobile/workspace/target/ROOT.war /var/www/zttx-app/web  (複製maven產生的.war文件到tomcat中去, /root/.jenkins說明是root用戶生成的文件) 
service Tomcat-App-01 stop
service Tomcat-App-02 stop
service Tomcat-App-01 start
service Tomcat-App-02 start
此處的作法可使用maven的插件直接部署到tomcat/webapp下。方式有不少種Jenkins自己也支持的。

4.當中遇到的一些問題分享下

4.1: maven  -e clean test package -DskipTests 命令失敗:提示在clean 的時候報的錯誤。解決方案:開放

/root/.jenkins/jobs/Zttx_Mobile/workspace/target 目錄的權限。

5.ROOT.war始終沒法解決的問題: 緣由,Tomcat啓動的日誌生成在ROOT/logs目錄中,當tomcat啓動的時候,生成ROOT/logs文件,tomcat解壓ROOT.war文件發現ROOT文件夾存在因此就不加壓了。解決方案:修改Tomcat目錄下conf/logger.propers文件,修改生成日誌的文件目錄便可

相關文章
相關標籤/搜索