您的位置:首页 > 编程语言 > Java开发

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)

 

(一) 安装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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息