持续集成之jenkins

安装包准备

这里写图片描述

1. 基础环境

1.1 JDK安装

查看旧版本jdk

rpm -qa|grep jdk

如需删除jdk:
如显示:java-1.7.0-openjdk-1.7.0.151-2.6.11.0.el6_9.x86_64
卸载:

rpm -e –nodeps java-1.7.0-openjdk-1.7.0.151-2.6.11.0.el6_9.x86_64

http://www.oracle.com/technetwork/java/javase/downloads/index.html下载JDK 1.8版本
创建目录

mkdir -p /opt/java

上传 jdk-8u151-linux-x64.rpm至/opt/java目录,安装jdk

yum -y install jdk-8u151-linux-x64.rpm

配置环境变量

vim /etc/profile

JAVA_HOME=/usr/java/jdk1.8.0_151
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

生效命令:

source /etc/profile

检查是否成功:

java –version

java version “1.8.0_151”
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

1.2 maven 安装

wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz;
tar -zxf apache-maven-3.3.9-bin.tar.gz -C /opt
ln -sf /opt/apache-maven-3.3.9/bin/mvn /usr/bin/mvn

配置环境变量:

vim /etc/profile

#set maven
export M2_HOME=/opt/apache-maven-3.3.9
export PATH=$PATH:$M2_HOME/bin

最后执行:

source /etc/profile

1.3 Tomcat 安装
上传 apache-tomcat-8.5.23.tar.gz至 opt目录

cd /opt
tar -zxf apache-tomcat-8.5.23.tar.gz

配置环境变量

vim /etc/profile

#set tomcat
export CATALINA_HOME=/opt/apache-tomcat-8.5.23 ## bin,lib
export CATALINA_BASE=/opt/apache-tomcat-8.5.23 ## conf,logs,webapps,work,temp
export PATH=$PATH:$CATALINA_HOME/bin

最后执行:

source /etc/profile

添加tomcat用户

vim /opt/apache-tomcat-8.5.23/conf /tomcat-users.xml

tomcat-users节点内添加:

<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="admin-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>

添加日志

vim /opt/apache-tomcat-8.5.23/conf/logging.properties

java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.SimpleFormatter.format=%1$tF %1$tT,%1$tL  %4$s  [%3$s] - %5$s%6$s%n

修改服务器端口为80,将内容中的8080改为80,8443改为443,8005改为8015,8009改为8019(可根据实际情况修改)

vim /opt/apache-tomcat-8.5.23/conf/server.xml

常用命令
停止服务:/opt/apache-tomcat-8.5.23/bin/shutdown.sh
启动服务:/opt/apache-tomcat-8.5.23/bin/startup.sh

启动服务后查看配置是否成功

curl http://localhost/

若manager页面出现 403;可修改

vim /opt/apache-tomcat-8.5.23/webapps/manager/META-INF/context.xml

<Context antiResourceLocking="false" privileged="true" >
 <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

修改防火墙

vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

重启防火墙:

service iptables restart

2 jenkins 部署

 2.1 安装

从官网下载 jenkins.war 至 /opt/apache-tomcat-8.5.23/webapps /webapps目录,Tomcat 会自动部署

直接访问:
http://ip/jenkins

密码获取路径如图:

这里写图片描述

这里写图片描述

2.2 基础环境配置

》系统管理》全局工具配置

这里写图片描述

这里写图片描述

邮件通知配置

这里写图片描述
Default Recipientsi为默认收件人地址集;可以是多个以逗号隔开

这里写图片描述

Default Subject :

构建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!

Default Content:

本邮件由系统自动发出,请勿回复!<br/>
<h2><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></h2>

<h4><font color="#0B610B">构建信息</font></h4>
<hr size="2" width="100%" />
<ul>
    <li>项目名称:${PROJECT_NAME} - #${BUILD_NUMBER}</li>
    <li>触发原因:${CAUSE}</li>
    <li>项目 URL:<a href="${PROJECT_URL}">${PROJECT_URL}</a></li>
    <li>构建 URL:<a href="${BUILD_URL}">${BUILD_URL}</a></li>
    <li>构建日志:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li>
    <li>工作目录:<a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>
</ul>

<h4><font color="#0B610B">失败用例</font></h4>
<hr size="2" width="100%" />
$FAILED_TESTS<br/>

<h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
<hr size="2" width="100%" />
<ul>
${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
</ul>
详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>

<h4><font color="#0B610B">代码检查</font></h4>
<hr size="2" width="100%" />
FindBugs:<a href="${BUILD_URL}findbugsResult">${BUILD_URL}findbugsResult</a><br/>
CheckStyle:<a href="${BUILD_URL}checkstyleResult">${BUILD_URL}checkstyleResult</a><br/>
PMD:<a href="${BUILD_URL}pmdResult">${BUILD_URL}pmdResult</a><br/>

这里写图片描述

这里写图片描述

》系统管理》插件管理

在页面高级栏中升级站点地址改为:
https://updates.jenkins.io/update-center.json
保存后点击立即获取
安装 SVN插件,maven插件
Subversion Plug-in ## 版本管理 SVN 的插件
Maven Integration plugin ## 项目构建 Maven 的插件

》系统管理》Configure Global Security
这里写图片描述
这里写图片描述

添加SVN账号或者ssh账号:
这里写图片描述

3. 新建项目

3.1 新建maven项目

这里写图片描述
这里写图片描述

设置为每五分钟检查一次有无更新,如有更新则立即构建项目
这里写图片描述

这里写图片描述
这里写图片描述

Root POM: 指定 pom.xml 相对路径
Goals and options: 指定 mvn 执行目标或选项,设置为
package -Dmaven.test.skip=true

这里写图片描述

cp -f target/*.war /opt/apache-tomcat-8.5.23/webapps/
cd /opt/apache-tomcat-8.5.23/webapps/;
rm -rf rbac;
echo "remove rbac folder"

这里写图片描述

这里写图片描述

通知邮箱地址为之前配置的默认收件邮箱地址

保存后进入创建的项目点击立即构建

这里写图片描述

进入本次构建查看构建日志信息:

这里写图片描述

构建成功后访问项目发布url查看项目是否被发布成功

3.2 Java代码静态检查

在 插件管理 为该项目 开启 Java代码静态检查依次安装插件:
- FindBugs Plug-in
- Checkstyle Plug-in
- PMD Plug-in

安装插件后修改项目配置信息:

这里写图片描述
Goals and options 设置为:
package -Dmaven.test.skip=true findbugs:findbugs checkstyle:checkstyle pmd:pmd
这里写图片描述

在项目maven的pom.xml文件添加如下内容后上传至SVN

<reporting>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>3.0.4</version>
                <configuration>
                    <xmlOutput>true</xmlOutput>
                    <findbugsXmlOutput>true</findbugsXmlOutput>
                    <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.17</version>
                <configuration>
                    <linkXRef>false</linkXRef>
                    <failsOnError>true</failsOnError>
                    <consoleOutput>true</consoleOutput>
                    <configLocation>checkstyle.xml</configLocation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>3.7</version>
                <configuration>
                    <linkXref>false</linkXref>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

点击立即构建,查看构建结果:

这里写图片描述

3.3 新建多配置项目

首先配置节点:

jenkins有个很强大的功能:分布式构建(在Jenkins的配置中叫做节点),分布式构建能够让同一套代码在不同的环境(如:Windows和Linux系统)中编译、测试等。这么做的好处一大堆,自己去想。而且Jenkins构建的代码和产物最后自动拷贝到主节点。

配置ip地址为213远程服务器环境

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

新建项目

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

表示构建时会构建到master和test服务上

这里写图片描述

这里写图片描述

这里写图片描述

保存后点击立即构建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值