Java开发流程自动化(svn+maven+nexus+jenkins) --自动编译,持续集成,测试,打包,发布/部署
2016-03-20 02:53
1311 查看
Java开发中,很多工作比较繁琐:新功能开发完毕,测试,修改配置文件,打包,发布…我们时常能听到将开发流程自动化的声音,然而实际真正将自动化落地的有多少呢,你还在一遍遍的用IDE打包,然后手工部署吗,现在我们需要将这一切完全自动化,专心写代码:)
一 基础环境搭建篇
注:以下环境除Nexus外,其他都需要在同一台机器中安装,所有操作是在服务器中,不是本地开发环境,所以会省略一些不必要的步骤。
操作系统:
Ubuntu 15.10Server x86_64 4.2.0-30-generic
JDK:
1.7.0_80 64-BitServer VM
Maven:
Apache Maven 3.3.3
Jenkins:
jenkins1.653(war)
2.解压文件
3.配置默认jdk
4.检查
java version"1.7.0_80"
Java(TM) SERuntime Environment (build 1.7.0_80-b15)
Java HotSpot(TM)64-Bit Server VM (build 24.80-b11, mixed mode)
1.解压文件
2.创建软链接:
3.修改配置文件
增加如下两个节点:
如果你的项目中没有单独配置nexus私服,那么这里需要把nexus地址添加进来:
保存退出
4.配置环境变量:
增加M2环境变量:
保存退出
使立即生效(注意前面有个点):
检查:
Apache Maven 3.3.3(7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00)
Maven home:/var/lib/maven
Java version:1.7.0_80, vendor: Oracle Corporation
Java home:/usr/lib/jvm/jdk1.7.0_80/jre
Default locale:en_US, platform encoding: UTF-8
OS name:"linux", version: "4.2.0-30-generic", arch:"amd64", family: "unix"
1.创建文件夹
2.安装tomcat:
3.添加URIEncoding到conf/server.xml中以下部分:
4.添加环境变量:
注意:如果运行一段时间后,Jenkins无法登录,老是返回登录页面,并且后台老是报错:
WARNING: There was an OPT answer. Not currently handled. Option code: 65002 data: 79C6D1DFFA1BBEFC
那就在环境变量中再加入一个变量:
5.复制文件
6.启动:
7.访问http://192.168.1.130:8080/jenkins
8.安装必备插件
1). Publish OverSSH(用于ssh远程登录及执行远程命令)
点击系统管理->管理插件
点击可选插件,在右上角过滤框输入ssh,可以看到有很多ssh相关的插件,其中主要有三个可用的,分别是SSH Plugin,Publish Over SSH,和SSH2 EasyPlugin,
经过使用,发现PublishOver SSH这个插件最好用,推荐使用这个。
2).FindBugs Plug-In
该插件要配合findbugs的Maven插件,用于展示bug报告。FindBugs是一款静态代码审查工具,能够在开发阶段找出一些容易忽略的问题和低级的错误。
同样,在可选插件中,输入findbugs,找到FindBugs Plug-In,勾选安装即可。
到此我们第一阶段的准备工作就告一段落了,在下一章节中,我们主要学习如何配置并使用这一套环境来规范并加速我们的开发。
参考:https://wiki.jenkins-ci.org/display/JENKINS/Tomcat
一 基础环境搭建篇
注:以下环境除Nexus外,其他都需要在同一台机器中安装,所有操作是在服务器中,不是本地开发环境,所以会省略一些不必要的步骤。
操作系统:
Ubuntu 15.10Server x86_64 4.2.0-30-generic
JDK:
1.7.0_80 64-BitServer VM
Maven:
Apache Maven 3.3.3
Jenkins:
jenkins1.653(war)
(一) 安装JDK
1.创建文件夹$ sudo mkdir /usr/lib/jvm
2.解压文件
$ sudo tar -zxvf /tmp/jdk-7u80-linux-x64.tar.gz -C /usr/lib/jvm
3.配置默认jdk
$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_80/bin/javac" 1 \ && sudo update-alternatives --set javac /usr/lib/jvm/jdk1.7.0_80/bin/javac \ && sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_80/bin/java" 1 \ && sudo update-alternatives --set java /usr/lib/jvm/jdk1.7.0_80/bin/java
4.检查
$ java -version
java version"1.7.0_80"
Java(TM) SERuntime Environment (build 1.7.0_80-b15)
Java HotSpot(TM)64-Bit Server VM (build 24.80-b11, mixed mode)
(二) 安装Maven
本地配置还可参考《Maven学习笔记一:安装和基本配置》一文,其中有更详细的内容1.解压文件
$ sudo tar -zxvf /tmp/apache-maven-3.3.3-bin.tar.gz -C /var/lib
2.创建软链接:
$ sudo ln -s /var/lib/apache-maven-3.3.3 /var/lib/maven
3.修改配置文件
$ mkdir ~/.m2 && cp /var/lib/maven/conf/settings.xml ~/.m2
$ vi ~/.m2/settings.xml
增加如下两个节点:
<servers> ... <!-- 用于nexus私服部署,请替换成自己实际开发环境中的用户名及密码 --> <server> <id>nexus-snapshots</id> <username>deployment</username> <password>deployment123</password> </server> ... </servers> <profiles> ... <!-- 指定JDK编译版本 --> <profile> <id>jdk17</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </activation> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion> </properties> </profile> ... </profiles> <!-- 注意:默认的本地仓库位于~/.m2/repository,我们这里保持默认,如果需要更换默认位置,请再加入以下节点(去掉注释) --> <!-- <settings> ... <localRepository>/path/to/other/local/repo/</localRepository> ... </settings> -->
如果你的项目中没有单独配置nexus私服,那么这里需要把nexus地址添加进来:
<settings> … <mirrors> … <mirror> <id>nexus</id> <mirrorOf>*</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://192.168.0.103:8081/nexus/content/groups/public</url> </mirror> … </mirrors> … </settings>
保存退出
4.配置环境变量:
$ sudo vi /etc/profile
增加M2环境变量:
export M2_HOME=/var/lib/maven export PATH=$M2_HOME/bin:$PATH
保存退出
使立即生效(注意前面有个点):
$ . /etc/profile
检查:
$ mvn -version
Apache Maven 3.3.3(7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T19:57:37+08:00)
Maven home:/var/lib/maven
Java version:1.7.0_80, vendor: Oracle Corporation
Java home:/usr/lib/jvm/jdk1.7.0_80/jre
Default locale:en_US, platform encoding: UTF-8
OS name:"linux", version: "4.2.0-30-generic", arch:"amd64", family: "unix"
(三) 搭建Nexus私服
参见之前的博文《Maven学习笔记二:Nexus私服搭建》(四) 安装Jenkins(需要JDK1.7+,tomcat方式)
下载:http://jenkins-ci.org/1.创建文件夹
$ sudo mkdir /var/lib/jenkins
2.安装tomcat:
$ sudo tar -zxvf /tmp/apache-tomcat-7.0.65.tar.gz -C /var/lib $ sudo ln -s /var/lib/apache-tomcat-7.0.65 /var/lib/tomcat7
3.添加URIEncoding到conf/server.xml中以下部分:
$ cd /var/lib/tomcat7 $ sudo vi conf/server.xml <Connectorport="8080" URIEncoding="UTF-8"/>
4.添加环境变量:
$ sudo vi bin/catalina.sh CATALINA_OPTS="-DJENKINS_HOME=/var/lib/jenkins-Xmx1024m"
注意:如果运行一段时间后,Jenkins无法登录,老是返回登录页面,并且后台老是报错:
WARNING: There was an OPT answer. Not currently handled. Option code: 65002 data: 79C6D1DFFA1BBEFC
那就在环境变量中再加入一个变量:
-Dhudson.DNSMultiCast.disabled=true
5.复制文件
$ cd /var/lib/tomcat7 $ sudo cp /tmp/jenkins.war webapps
6.启动:
$ sudo ./bin/startup.sh
7.访问http://192.168.1.130:8080/jenkins
8.安装必备插件
1). Publish OverSSH(用于ssh远程登录及执行远程命令)
点击系统管理->管理插件
点击可选插件,在右上角过滤框输入ssh,可以看到有很多ssh相关的插件,其中主要有三个可用的,分别是SSH Plugin,Publish Over SSH,和SSH2 EasyPlugin,
经过使用,发现PublishOver SSH这个插件最好用,推荐使用这个。
2).FindBugs Plug-In
该插件要配合findbugs的Maven插件,用于展示bug报告。FindBugs是一款静态代码审查工具,能够在开发阶段找出一些容易忽略的问题和低级的错误。
同样,在可选插件中,输入findbugs,找到FindBugs Plug-In,勾选安装即可。
到此我们第一阶段的准备工作就告一段落了,在下一章节中,我们主要学习如何配置并使用这一套环境来规范并加速我们的开发。
参考:https://wiki.jenkins-ci.org/display/JENKINS/Tomcat
相关文章推荐
- 关于Jenkins在Linux快速搭建持续集成环境
- maven学习
- maven插件maven-war-plugin的使用
- jenkins------结合maven将svn项目自动部署到tomcat下
- jenkins------部署项目到jboss eap下
- maven使用经验集
- Java 版的 Ruby 解释器 JRuby 1.7.14 发布
- Windows下Ruby+Watir自动化测试的环境搭建及数据读取
- Fedora Linux 7 Test 4 发布 下载地址
- 使用npm发布Node.JS程序包教程
- 微软NET Framework 3.5 Beta 1 发布 提供下载
- 可简单避免的三个JS发布错误的详细介绍
- ASP.NE网站发布注意事项简析
- linux 自动化运维工具ansible的使用详细教程
- 批处理备份文件夹和文件后发布文件夹至网站
- 自动化收集SQLSERVER诊断信息的工具选择及使用介绍
- 分享MySQL的自动化安装部署的方法
- PowerShell 4.0实现自动化设置服务器
- 怎么发布打包并发布自己的Android应用(APP)