svn + jenkins + maven 实现java环境的自动化构建和部署
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环境的自动化构建和部署的更多相关文章
- 使用Docker搭建Jenkins+Docker持续集成环境(自动化构建发布部署)
本文介绍如何通过Jenkins的docker镜像从零开始构建一个基于docker镜像的持续集成环境,包含自动化构建.发布到仓库\并部署上线. 0. 前置条件 服务器安装docker,并启动docker ...
- Jenkins+Maven+Git CI环境搭建手册
Jenkins+Maven+Git CI环境搭建手册 环境: OS:Linux version 2.6.32-220.23.2.ali878.el6.x86_64 (ads@kbuild) (gcc ...
- SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战
1.前言与初衷 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用. 本文章会涉及结合工作过程中部署不同环境服务器的项目案例场景为初心进行实际细讲. 本文章主要讲述Docker.Jen ...
- 边缘化搭建 DotNet Core 2.1 自动化构建和部署环境(上)
写在前面 写这篇文章的缘由是由于笔者的对新兴技术方向有所追求,但个人资产有限,只能容许购买一台阿里云低配1核2G服务器.服务器上搭建了 Centos7 & Docker & Jenki ...
- GeneXus DevOps 自动化构建和部署流程
以下视频详细介绍了GeneXus DevOps自动化构建和部署流程,包括通过MS Bulid来管理自动化流程,自动化的架构,以及在GeneXus Server上使用Jenkins做为自动化引擎. 视频 ...
- 边缘化搭建 DotNet Core 2.1 自动化构建和部署环境(下)
写在前面 本篇文章是上一篇边缘化搭建 DotNet Core 2.1 自动化发布和部署(上)的后续操作,本文主要讲解如何开启Docker Remote API,开启Remote API后的权限安全问题 ...
- Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署
写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级 ...
- 用Ant实现Java项目的自动构建和部署
原文地址:http://tech.it168.com/j/2007-11-09/200711091344781.shtml 本文请勿转载! Ant是一个Apache基金会下的跨平台的构 ...
- 用Ant实现Java项目的自动构建和部署(转)
Ant是一个Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能.在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作. 一. ...
随机推荐
- 使用VS软件打开网站在浏览器浏览的方法
1.用VS软件打开网站之后,先检查网站是否使用IIS Express开发 2.若不是,则切换成使用IIS Express开发 3.检查项目使用的托管管道模式设置为经典模式了没有 4.最后选择“在浏览器 ...
- js中Object.__proto__===Function.prototype
参考:http://stackoverflow.com/questions/650764/how-does-proto-differ-from-constructor-prototype http:/ ...
- String s = new String("aa") 创建了几个对象?
1 最近几个同学面试的时候出现了这样一个问题 刚听到这个题目的时候的确是不知所措: 经过网上的查找和自己的理解来解释一下这个题目的答案 答案是: 为什么呢??? 1 实现我们都知道创建实例有两种方法 ...
- Lua 迭代器
第一种:lua迭代器的实现依赖于闭包(closure)特性 1.1 第一个简单的写法 --迭代器写法 function self_iter( t ) local i = 0 return functi ...
- VS2010+PCL+openni配置
PCL中文论坛:http://www.pclcn.org/bbs/forum.php 1.安装 pcl 的完全安装包可以到: http://pointclouds.org/downloads/wind ...
- js入门实例
<!DOCTYPE html> <html> <body> <h1>My First Web Page</h1> <p>My F ...
- math ceil以及math floor,math:round
◎Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数:◎Math.floor()执行向下舍入,即它总是将数值向下舍入为最接近的整数:◎Math.round()执行标准舍入,即它总 ...
- 17232 伪Acmer的推理(传递闭包)
17232 伪Acmer的推理 时间限制:1000MS 内存限制:65535K提交次数:0 通过次数:0 收入:0 题型: 编程题 语言: G++;GCC Description 现在正是期末, ...
- 4--OC --合成存取器方法
1. 从OC 2.0开始就已经可以自动生成设置函数方法和获取函数方法(统称为存取器方法). 什么是 @property 和 @synthesize ? @property 和 @synthesize ...
- 高性能IO模型浅析(转)
转自:http://www.cnblogs.com/fanzhidongyzby/p/4098546.html 是我目前看到的解释IO模型最清晰的文章,当然啦,如果想要详细的进一步了解还是继续啃蓝宝书 ...