tomcat+svn+maven+jenkins實現自動構建

wadeson發表於2017-08-14

首先說明一個各軟體的版本:

tomcat:apache-tomcat-8.5.16.tar.gz

maven:apache-maven-3.5.0-bin.tar.gz

svn:subversion-1.6.11-15.el6_7.x86_64

jenkins:Jenkins ver. 2.7.4(很多教程用的都是1.x的版本)

1、配置java環境

export JAVA_HOME=/usr/java/latest
CLASSPATH=.:$JAVA_HOME/lib/dr.jar:$JAVA_HOME/lib/tools.jar:
export PATH=$JAVA_HOME/bin:$PATH

 

2、配置tomcat環境(這裡採用的還是多例項,具體搭建參考前面的博文)

  http://www.cnblogs.com/jsonhc/p/7326021.html

 

3、配置maven環境:

  maven安裝:
    下載maven包:apache-maven-3.5.0-bin.tar.gz
    tar xf apache-maven-3.5.0-bin.tar.gz -C /usr/local/
    ln -sv apache-maven-3.5.0 maven
    echo "export MAVEN_HOME=/usr/local/maven" > /etc/profile.d/maven.sh
    echo 'export PATH=$MAVEN_HOME/bin:$PATH' >> /etc/profile.d/maven.sh
    source /etc/profile.d/maven.sh
    # mvn -v
      Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00)
      Maven home: /usr/local/maven
      Java version: 1.8.0_144, vendor: Oracle Corporation
      Java home: /usr/java/jdk1.8.0_144/jre
      Default locale: zh_CN, platform encoding: UTF-8
      OS name: "linux", version: "2.6.32-358.el6.x86_64", arch: "amd64", family: "unix"
 
4、jenkins安裝:採用war包
  直接將jenkins.war包放進到tomcat的webapps部署目錄下,自動部署

  drwxr-x---. 10 root root 4096 8月 14 14:07 jenkins
  -rw-r--r--. 1 root root 68860495 9月 9 2016 jenkins.war
  drwxr-xr-x. 6 root root 4096 8月 11 10:56 ROOT

 

5、svn的安裝

  svn安裝:
  yum -y install svn           安裝svn,採用yum安裝
  mkdir /data/svn             
  svnadmin create /data/svn/web         建立svn的庫
  cp svnserve.conf svnserve.conf.bak      備份好配置檔案
  cp authz authz.bak
  cp passwd passwd.bak
 
   tail -3 /data/svn/web/conf/authz
  # * = r
  [/]                                  全部目錄下面 都有許可權(整個庫)               
  wadeson = rw
 
  tail -3 /data/svn/web/conf/passwd
  # harry = harryssecret
  # sally = sallyssecret
  wadeson = redhat                   設定賬號密碼      與後面jenkins需要的svn一致
 
  cat /data/svn/web/conf/svnserve.conf
  anon-access = none               匿名使用者沒有訪問許可權
  auth-access = write                被認證的使用者才有write許可權
  password-db = passwd
  authz-db = authz
  啟動svn服務:
  svnserve -d -r /data/svn --listen-port=8001       指定指定的埠
 
以上操作配置完成後,開始安裝jenkins:
  [root@node1 webapps]# ls

  jenkins.war ROOT

  http://192.168.223.146:8082/jenkins
先檢視下日誌:

[root@node1 webapps]# tail -f /usr/local/tomcat/logs/catalina.out
Please use the following password to proceed to installation:

5b62b8e68f874bd883730f5f4e687c60

This may also be found at: /root/.jenkins/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

14-Aug-2017 15:02:43.088 INFO [Download metadata thread] hudson.model.UpdateSite.updateData Obtained the latest update center data file for UpdateSource default
14-Aug-2017 15:02:44.690 INFO [Download metadata thread] hudson.model.DownloadService$Downloadable.load Obtained the updated data file for hudson.tasks.Maven.MavenInstaller
14-Aug-2017 15:02:46.253 INFO [Jenkins initialization thread] hudson.model.UpdateSite.updateData Obtained the latest update center data file for UpdateSource default
14-Aug-2017 15:02:46.301 INFO [Jenkins initialization thread] hudson.WebAppMain$3.run Jenkins is fully up and running

 

 

 copy給定的密碼進行驗證通過:

[root@node1 webapps]# cat /root/.jenkins/secrets/initialAdminPassword
5b62b8e68f874bd883730f5f4e687c60

安裝給定的外掛就行,如果外掛沒有,後面可以自己安裝缺少的外掛

 

 安裝外掛後,出現如下圖:

然後點選下一步:

到這裡jenkins的簡單安裝已經完成了,現在開始進行設定jenkins吧:

由於新版的jenkins沒有deploy和maven外掛,所以先給這兩個外掛裝上:

勾選上需要安裝的外掛:

直接線上安裝:

然後再安裝maven外掛:

然後回到管理設定頁面,設定全域性環境:

去掉自動安裝這個鉤鉤

設定好java和maven環境變數就行,然後apply並save儲存:

接下來為svn建立賬號,因為連線svn需要賬號:

這裡建立的賬號就是能夠連線svn的賬號一致:

建立完svn賬號後,基本設定已經完成,現在開始建立一個任務:

箭頭所指的都可以

在沒有安裝maven外掛的時候,高版本的jenkins這裡是沒有maven project模板的,所以之前快速的安裝了maven外掛:

然後接下來都預設就可以,因為這裡只是演示最簡單的自動構建war包:

 

svn只需要原始碼加上pom.xml檔案就行:

 

 然後點選build now快速構建:

檢視控制檯輸出:

當控制檯輸出上面資訊表示自動構建完成,生成的war包就在上面資訊中

[root@node1 webapps]# ll /root/.jenkins/workspace/maven_test/target/testMaven-0.0.1-SNAPSHOT.war
-rw-r----- 1 root root 2229933 Aug 14 15:38 /root/.jenkins/workspace/maven_test/target/testMaven-0.0.1-SNAPSHOT.war

然後就可以拿著這個war包進行部署了,後期可以使用指令碼將生成的war替換tomcat下webapps中的war,實現自動部署

相關文章