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
增加如下两个节点:
...
nexus-snapshots
deployment
deployment123
...
...
jdk17
true
1.7
1.7
1.7
1.7
...
如果你的项目中没有单独配置nexus私服,那么这里需要把nexus地址添加进来:
…
…
nexus
*
Human Readable Name for this Mirror.
http://192.168.0.103:8081/nexus/content/groups/public
…
…
保存退出
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私服
(四) 安装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
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