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文件,修改生成日誌的文件目錄便可