tomcat+svn+maven+jenkins实现自动构建

时间:2021-03-29 19:12:23

首先说明一个各软件的版本:

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

tomcat+svn+maven+jenkins实现自动构建

 copy给定的密码进行验证通过:

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

tomcat+svn+maven+jenkins实现自动构建

安装给定的插件就行,如果插件没有,后面可以自己安装缺少的插件

tomcat+svn+maven+jenkins实现自动构建

安装插件后,出现如下图:

tomcat+svn+maven+jenkins实现自动构建

然后点击下一步:

tomcat+svn+maven+jenkins实现自动构建

tomcat+svn+maven+jenkins实现自动构建

到这里jenkins的简单安装已经完成了,现在开始进行设置jenkins吧:

由于新版的jenkins没有deploy和maven插件,所以先给这两个插件装上:

tomcat+svn+maven+jenkins实现自动构建

tomcat+svn+maven+jenkins实现自动构建

tomcat+svn+maven+jenkins实现自动构建

勾选上需要安装的插件:

tomcat+svn+maven+jenkins实现自动构建

直接在线安装:

tomcat+svn+maven+jenkins实现自动构建

tomcat+svn+maven+jenkins实现自动构建

然后再安装maven插件:

tomcat+svn+maven+jenkins实现自动构建

tomcat+svn+maven+jenkins实现自动构建

然后回到管理设置页面,设置全局环境:

tomcat+svn+maven+jenkins实现自动构建

tomcat+svn+maven+jenkins实现自动构建

去掉自动安装这个钩钩

tomcat+svn+maven+jenkins实现自动构建

设置好java和maven环境变量就行,然后apply并save保存:

接下来为svn创建账号,因为连接svn需要账号:

tomcat+svn+maven+jenkins实现自动构建

tomcat+svn+maven+jenkins实现自动构建

tomcat+svn+maven+jenkins实现自动构建

tomcat+svn+maven+jenkins实现自动构建

这里创建的账号就是能够连接svn的账号一致:

创建完svn账号后,基本设置已经完成,现在开始创建一个任务:

tomcat+svn+maven+jenkins实现自动构建

箭头所指的都可以

tomcat+svn+maven+jenkins实现自动构建

在没有安装maven插件的时候,高版本的jenkins这里是没有maven project模板的,所以之前快速的安装了maven插件:

tomcat+svn+maven+jenkins实现自动构建

tomcat+svn+maven+jenkins实现自动构建

然后接下来都默认就可以,因为这里只是演示最简单的自动构建war包:

tomcat+svn+maven+jenkins实现自动构建

svn只需要源码加上pom.xml文件就行:

tomcat+svn+maven+jenkins实现自动构建

 然后点击build now快速构建:

查看控制台输出:

tomcat+svn+maven+jenkins实现自动构建

tomcat+svn+maven+jenkins实现自动构建

当控制台输出上面信息表示自动构建完成,生成的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,实现自动部署