1. 环境说明:

系统CentOS 7 x64

IP:  10.6.0.126

1.1 首先安装配置 svn

Centos 7  通过yum 安装svn 既可, 版本为1.7.14

# yum -y install subversion

安装完毕以后查看版本信息

# svnserve --version

添加svn运行用户

groupadd svn

useradd -g svn -s /sbin/nologin svn

添加svn版本库目录,并授权svn用户权限

mkdir -p /opt/svndata

chown -R svn.svn /opt/svndata

创建svn版本库

svnadmin create /opt/svndata/jicki

cd /opt/svndata/jicki/conf

.

├── authz             svn认证文件

├── passwd            svn用户文件

└── svnserve.conf     svn配置文件

启动svn

svnserve -d -r /opt/svndata/

1.2 部署Jenkins

首先安装jdk 7  官网下载jdk7最新版本

rpm -ivh jdk-7u71-linux-x64.rpm

安装完成以后...安装目录为 /usr/java/jdk1.7.0_71/

接下来配置一下JDK的环境..

vi /etc/profile

在最下面添加三行

export JAVA_HOME=/usr/java/jdk1.7.0_71/

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

export LASSPATH=.:/usr/java/jdk1.7.0_71/lib:/usr/java/jdk1.7.0_71/jre/lib:$CLASSPATH

使用设置生效

source /etc/profile

接下来就是安装 tomcat 了

http://tomcat.apache.org/index.html

下载最新稳定版的tomcat版本

tar zxvf apache-tomcat-7.0.57.tar.gz

mv apache-tomcat-7.0.57 /opt/local/tomcat

cd /opt/local/tomcat

vi /etc/profile

最下面添加

export TOMCAT_HOME=/opt/local/tomcat/

使设置生效

source /etc/profile

下面下载Jenkins

官网地址 http://jenkins-ci.org/

http://mirrors.jenkins-ci.org/war/latest/jenkins.war          下载最新版本

mv jenkins.war /opt/local/tomcat/webapps/

启动tomcat

/opt/local/tomcat/bin/startup.sh

http://10.6.0.126:8080/jenkins/

既可访问 jenkins

1.3 部署maven

下载地址:http://maven.apache.org/download.cgi

tar zxvf apache-maven-3.2.5-bin.tar.gz

mv apache-maven-3.2.5 /opt/local/maven

vi /etc/profile

最下面添加

export MAVEN_HOME=/opt/local/maven

export PATH=$MAVEN_HOME/bin:$PATH

使设置生效

source /etc/profile

查看是否安装成功

mvn -v

1.4 java环境自动构建部署

新建一个job

( Jenkins needs to know where your Maven2 is installed. Please do so from the system configuration. )

是因为Jenkins找不到maven的原因,点击"system configuration",是system configuration的maven配置中添加maven目录就OK。

1.5 利用maven命令创建web项目

命令格式:mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

/opt/webapp

mvn archetype:generate -DgroupId=com.myweb -DartifactId=mywebapp -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

执行完毕会生成 mywebapp目录

目录结构如下

.

├── pom.xml

└── src

└── main

├── resources

└── webapp

├── index.jsp

└── WEB-INF

└── web.xml

进入mywebapp目录

cd /opt/webapp/mywebapp/

执行构建

mvn install

构建完成会生成一个target 目录

.

├── pom.xml

├── src

│   └── main

│       ├── resources

│       └── webapp

│           ├── index.jsp

│           └── WEB-INF

│               └── web.xml

└── target

├── classes

├── maven-archiver

│   └── pom.properties

├── mywebapp

│   ├── index.jsp

│   ├── META-INF

│   └── WEB-INF

│       ├── classes

│       └── web.xml

└── mywebapp.war

svn + jenkins + maven 实现java环境的自动化构建和部署的更多相关文章

  1. 使用Docker搭建Jenkins+Docker持续集成环境(自动化构建发布部署)

    本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker ...

  2. Jenkins+Maven+Git CI环境搭建手册

    Jenkins+Maven+Git CI环境搭建手册 环境: OS:Linux version 2.6.32-220.23.2.ali878.el6.x86_64 (ads@kbuild) (gcc ...

  3. SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

    1.前言与初衷 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用. 本文章会涉及结合工作过程中部署不同环境服务器的项目案例场景为初心进行实际细讲. 本文章主要讲述Docker.Jen ...

  4. 边缘化搭建 DotNet Core 2.1 自动化构建和部署环境(上)

    写在前面 写这篇文章的缘由是由于笔者的对新兴技术方向有所追求,但个人资产有限,只能容许购买一台阿里云低配1核2G服务器.服务器上搭建了 Centos7 & Docker & Jenki ...

  5. GeneXus DevOps 自动化构建和部署流程

    以下视频详细介绍了GeneXus DevOps自动化构建和部署流程,包括通过MS Bulid来管理自动化流程,自动化的架构,以及在GeneXus Server上使用Jenkins做为自动化引擎. 视频 ...

  6. 边缘化搭建 DotNet Core 2.1 自动化构建和部署环境(下)

    写在前面 本篇文章是上一篇边缘化搭建 DotNet Core 2.1 自动化发布和部署(上)的后续操作,本文主要讲解如何开启Docker Remote API,开启Remote API后的权限安全问题 ...

  7. Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署

    写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级 ...

  8. 用Ant实现Java项目的自动构建和部署

    原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml         本文请勿转载! Ant是一个Apache基金会下的跨平台的构 ...

  9. 用Ant实现Java项目的自动构建和部署(转)

    Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一.            ...

随机推荐

  1. 笨方法学python--字符串和文本

    1print 变量 abc = False joke_string = "Isn't that joke so funny?! %r" print joke_string %abc ...

  2. c++中string的用法

    之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至 ...

  3. Happy Matt Friends

    Happy Matt Friends Time Limit: 6000/6000 MS (Java/Others)    Memory Limit: 510000/510000 K (Java/Oth ...

  4. 如何使用Android中的OpenGL ES媒体效果

    引自:http://www.2cto.com/kf/201506/404366.html Android的媒体效果框架允许开发者可以很容易的应用多种令人印象深刻的视觉效果到照片或视频之上.作为这个媒体 ...

  5. Hibernate 系列教程13-继承-鉴别器与内连接相结合

    Employee public class Employee { private Long id; private String name; HourlyEmployee public class H ...

  6. java super关键字

    子类用super操作被隐藏的成员变量和方法 Example5_7.java class Sum { int n; float f() { float sum=0; for(int i=1;i<= ...

  7. Linux学习 -- 权限管理

    1 ACL权限 1.1 简介与开启 1.1.1 ACL权限是什么 access control list 访问控制表 解决传统的(owner,group,others)身份不足的情况 可以设置 特定用 ...

  8. android 多个shortCut快捷方式实现以及对58同城快捷方式的实现思路的研究

    这几天,项目中有个新需求,需要按照模块添加不同的快捷方式到桌面上,从而方便用户的使用.特意进行了研究并分析了下58上面桌面快捷方式的实现. 首先多个shortcut的实现: <activity ...

  9. PAT乙1002

    有毒,真的有毒,难题对于简单题影响太大了,想的东西太多,总会在考虑,会不会时间超限,数据量有多大,三个循环就太慢了.... 总之我是真的不愿意看到这样的程序能过的,总觉得有更好的,却总是找不更好的额. ...

  10. C#实现http断点下载

    我们寄希望于万能的解决方案,但是现实的情况总是很糟糕.在软件编程的世界中,技术分散的情况尤为严重,且不说各种语言拥有的优势不能融合,单就一门语言而言,就拥有众多的技术和相关技术需要学习.网络编程就是这 ...