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

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,实现自动部署

tomcat+svn+maven+jenkins实现自动构建的更多相关文章

  1. Docker+Jenkins+Gogs 自动构建.Net Core

    Docker+Jenkins+Gogs 自动构建.Net Core 引言 jenkins+gags 全部采用Docker安装,通过jenkins插件ssh调用外部Docker构建 主要实现功能: gi ...

  2. Jenkins+Tomcat+svn+maven自动化构建简单过程

    搭建好jenkins自动化构建之后,点击立即构建,即可将svn服务器上的源码自动编译构建,并打成war包,然后将这个war包以及编译好的项目复制到指定服务器的tomcat容器里,当svn服务器的代码有 ...

  3. Jenkins +Maven+Tomcat+SVN +Apache项目持续集成构建

    详解Jenkins +Maven+Tomcat+SVN +Apache项目持续集成 一:前言 1. Jenkins jenkins版本大全http://mirrors.jenkins-ci.org/ ...

  4. Jenkins2.32.1+svn+maven安装配置与构建部署

    这两天学习了一下持久化集成工具Jenkins,在自己的本地搭建一个简单的Jenkins环境. 使用环境:Windows64系统,JDK1.8,eclipse,svn(Windows版本VisualSV ...

  5. 利用jenkins实现自动构建、部署,提升团队开发效率

    一大早就被群里的同学刷银川下雪的消息,看着我都发冷,突觉一阵凉风裹身,是不是该考虑秋裤了. 偏离主题,正文走起...... 使用jenkins目标:利用其结合maven完成自动构建,并部署到tomca ...

  6. .net 基于Jenkins的自动构建系统开发

    先让我给描述一下怎么叫一个自动构建或者说是持续集成 : 就拿一个B/S系统的合作开发来说,在用SVN版本控制的情况下,每个人完成自己代码的编写,阶段性提交代码,然后测试-修改,最后到所有代码完工,进行 ...

  7. 一、Jenkins 安装(自动构建发布)

    war 包方式安装 官方下载地址:https://jenkins.io/download/ ,下载war包,并上传到服务器(案例中是把war包放在了 /usr/local/jenkins 里面) 运行 ...

  8. 新手避坑 -- 用 Jenkins +miniprogram-ci 自动构建微信小程序

    先看看效果: 要实现这样的效果,需要下面3步: 1.下载 node 依赖包 miniprogram-ci,编写预览和上传功能 2. 登录微信公众平台, 下载项目的privateKey+添加代码上传IP ...

  9. 使用 svn+maven+jenkins(hudson)+Publish Over SSH plugins 构建持续集成及自动远程发布体系(转)

    1.安装jenkins 2.浏览器访问jenkins主页 http://192.168.0.1:8080/,点击“系统管理” 3.在插件管理中,安装Publish Over SSH插件 4.在系统设置 ...

随机推荐

  1. Python 打包程序

    一.打包成exe 1.安装pyinstaller #只要你能FQ连接https://pypi.python.org/pypi下载会很快,不用担心超时问题. https://pypi.python.or ...

  2. Caused by: java.lang.ClassNotFoundException[android的终极解决错误]

    from:http://blog.csdn.net/changemyself/article/details/7861525 08-13 18:29:22.924: E/AndroidRuntime( ...

  3. 160408、SpringMVC整合Shiro

    第一步:配置web.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <!-- 配置Shiro过滤器,先让Shiro过滤系统接收到的请求 -->  ...

  4. JAVAWEB基础模块开发顺序与数据访问对象实现类步骤

    一.模块的开发的顺序 1. 定义数据表 2. 新建模型类 3. 新建"add.jsp" 4. 实现AddServlet中的doGet()方法 5. 定义Dao.Service接口 ...

  5. 使用 MySQL 管理层次结构的数据

    概述 我们知道,关系数据库的表更适合扁平的列表,而不是像 XML 那样可以直管的保存具有父子关系的层次结构数据. 首先定义一下我们讨论的层次结构,是这样的一组数据,每个条目只能有一个父条目,可以有零个 ...

  6. django中同源策略和跨域解决方案

    一  同源策略 1.1何谓同源? 如果两个页面的协议,端口(如果有指定)和域名都相同,则两个页面具有相同的源. 举个例子: 下表给出了相对http://a.xyz.com/dir/page.html同 ...

  7. HTTP和HTTPS的请求和响应

    HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法.HTTPS(Hypertext Transfer Protocol ove ...

  8. BroadcastReceiver 翻译

    1. 动态注册与退出 If registering a receiver in your Activity.onResume() implementation, you should unregist ...

  9. MySQL中的表级锁

    数据的锁主要用来保证数据的一致性,数据库的锁从锁定的粒度上可以分为表级锁,行级锁和页级锁. MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制,比如MyISAM和MEMORY存 ...

  10. 日志输出:控制台和log文件输出日志

    self_log.py 中 import os import logging import time # 如果日志文件夹不存在,则创建 log_dir = "log" # 日志存放 ...