Jenkins安装、配置,常用中间件、插件构建实例

时间:2024-03-24 10:52:46

1. 安装前准备

JDK、Resin、Weblogic、Maven

2. 安装配置Jenkins

2.1 安装Jenkins

部署jenkins.war到Tomcat、Resin等中间件,本文以Resion为例,复制jenkins.war到resin的webapps中进行部署。

2.2 系统设置

启动Resin,在浏览器中访问http://ip:端口/jenkins/。

Jenkins安装、配置,常用中间件、插件构建实例

 

点击【系统管理】-【系统设置】,进行系统设置。

Jenkins安装、配置,常用中间件、插件构建实例

 

主目录路径可通过新建JENKINS_HOME系统变量修改

Jenkins安装、配置,常用中间件、插件构建实例

Jenkins安装、配置,常用中间件、插件构建实例

为避免构建后启动的子进程关闭,可通过设置全局环境变量BUILD_ID=dontKillMe禁止关掉子进程,该变量也可设置在具体某个项目中。

Jenkins安装、配置,常用中间件、插件构建实例

 

配置Maven Filepath

Jenkins安装、配置,常用中间件、插件构建实例

 

配置Jenkins URL

Jenkins安装、配置,常用中间件、插件构建实例

 

配置SVN版本,1.7以上版本选择1.7即可。

Jenkins安装、配置,常用中间件、插件构建实例

 

2.3 插件管理

点击【系统管理】-【管理插件】

Jenkins安装、配置,常用中间件、插件构建实例

在插件管理页面可看到【可更新】、【可选插件】、【已安装】、【高级】四个选项卡,用于管理插件。

Jenkins安装、配置,常用中间件、插件构建实例


安装插件的两种方式:

一、在线安装

在可选插件中选择要安装的插件,点击【直接安装】,在线安装插件。

Jenkins安装、配置,常用中间件、插件构建实例

二、离线安装

插件下载地址:http://updates.jenkins-ci.org/download/plugins/,下载需要的离线插件,扩展名为hpi。

在高级-上传插件中,点击【选择文件】选择下载的离线插件,点击【上传】,上传并安装离线插件。

Jenkins安装、配置,常用中间件、插件构建实例

2.4 创建List View

默认视图的类型是“ALL”,列不能编辑,想要可编辑列,需要创建类型为“List View”的视图。

 Jenkins安装、配置,常用中间件、插件构建实例


Jenkins安装、配置,常用中间件、插件构建实例


 

添加视图显示的Job

Jenkins安装、配置,常用中间件、插件构建实例

删除不需要显示的列

Jenkins安装、配置,常用中间件、插件构建实例

添加需要显示的列

Jenkins安装、配置,常用中间件、插件构建实例


Jenkins安装、配置,常用中间件、插件构建实例

 

设置默认视图,只有非默认的视图才可以删除。

Jenkins安装、配置,常用中间件、插件构建实例

选择默认视图

Jenkins安装、配置,常用中间件、插件构建实例

 

删除非默认视图

Jenkins安装、配置,常用中间件、插件构建实例


3.  Jenkins配置实例

以下实例均在Windows+Maven+SVN环境中配置。

3.1 构建Resin工程

左侧菜单中点击【新建】

Jenkins安装、配置,常用中间件、插件构建实例

 

输入项目名称,选择“构建一个maven项目”

Jenkins安装、配置,常用中间件、插件构建实例

 

勾选“丢弃旧的构建”,保持构建的天数和最大个数根据需要设置。

Jenkins安装、配置,常用中间件、插件构建实例

源码管理中选择Subversion,在Repositroy URL中输入svn链接,第一次输入时会提示无法访问,点击【enter credential】,进入验证页面。

Jenkins安装、配置,常用中间件、插件构建实例

 

选择Username/password authentication,输入svn账户和密码。

Jenkins安装、配置,常用中间件、插件构建实例

  

在Pre Steps中点击Addpre-build step,选择Execute Windows batch command,输入在maven build前要执行的命令。

Jenkins安装、配置,常用中间件、插件构建实例

 

::停止server为xxx的实例

D:\programs\resin-3.1.15\httpd.exe -server xxx stop

::延迟40秒,等待实例停止结束

C:\Windows\System32\ping -n 40 127.0.0.1>nul

Jenkins安装、配置,常用中间件、插件构建实例

 

在Build中输入执行的maven命令

Jenkins安装、配置,常用中间件、插件构建实例

 

在Post Steps中点击Addpost-build step,选择Execute Windows batch command,输入在maven build后要执行的命令。

Jenkins安装、配置,常用中间件、插件构建实例

 

::删除部署目录下的web应用

rd/s/q D:\programs\resin-3.1.15\webapps-xxx\xxx

::复制maven build后的war到resin的部署路径

copyD:\programs\jenkins\workspace\xxx-windows-resin\target\xxx.war

D:\programs\resin-3.1.15\webapps-xxx\xxx.war

::启用server为xxx的实例

D:\programs\resin-3.1.15\httpd.exe -server xxxstart

::延迟40秒等待实例启动成功

C:\Windows\System32\ping -n 40 127.0.0.1>nul

Jenkins安装、配置,常用中间件、插件构建实例

 

在Jenkins首页点击如下图标即可构建项目。

Jenkins安装、配置,常用中间件、插件构建实例

3.2 构建Weblogic工程

在插件管理中搜索Publish Over SSH并安装

Jenkins安装、配置,常用中间件、插件构建实例

  

在系统设置中配置Publish over SSH信息

Jenkins安装、配置,常用中间件、插件构建实例

新建项目,除Pre Steps、Post Steps外,其他配置与构建Resin一致,可参考【3.1 构建Resin工程】。

Pre Steps设置:

Jenkins安装、配置,常用中间件、插件构建实例

Name系统设置中Publish over SSH中的Name。

Exec command:要执行的命令

#切换至weblogic域目录

cd/usr/oracle/weblogic/user_projects/domains/xxx_domain/bin

#停止服务

./stopWebLogic.sh

#删除应用目录xxx

rm -rf /var/xxx

#删除xxx.war

rm -f /var/xxx.war

Jenkins安装、配置,常用中间件、插件构建实例

  

Post Steps设置:

Jenkins安装、配置,常用中间件、插件构建实例

Name系统设置中Publish over SSH中的Name。

Source files:要上传到Liunx的文件,主要要有路径。

Remove prefix:Source files中文件名以外的内容。

Remote directory:要上传至Linux的目录。

Exec command:要执行的命令

#切换至var

cd /var

#解压war至xxx目录

unzip -oq xxx.war -d xxx

#切换至weblogic域目录

cd /usr/oracle/weblogic/user_projects/domains/xxx_domain

#启动weblogic服务

./startWebLogic.sh

Jenkins安装、配置,常用中间件、插件构建实例

3.3 构建Tomcat工程

新建项目,除Pre Steps、Post Steps外,其他配置与构建Resin一致,可参考【3.1 构建Resin工程】。

Pre Steps设置:

::停止服务

D:\programs\tomcat\tomcat-instances\xxx-ins\stop.bat

::延迟30秒,等待停止完成

C:\Windows\System32\ping-n 30 127.0.0.1>nul


Post Steps设置:

Jenkins安装、配置,常用中间件、插件构建实例

::删除旧xxx应用目录

rd/s/q D:\programs\tomcat\tomcat-instances\xxx-ins\webapps\xxx

::延迟10秒,等待删除完成

C:\Windows\System32\ping-n 10 127.0.0.1>nul

::复制svn中的xxx至部署目录,uncopy.txt为排除复制的文件列表文件

echo d |C:\Windows\System32\xcopy

D:\programs\jenkins\workspace\xxx-windows-tomcat\target\xxx D:\programs\tomcat\tomcat-instances\xxx-ins\webapps\xxx/e/q/y/exclude:D:\programs\jenkins\workspace\xxx-windows-tomcat\uncopy.txt

::延迟10秒,等待复制完成

C:\Windows\System32\ping-n 10 127.0.0.1>nul

::启动服务

D:\programs\tomcat\tomcat-instances\xxx-ins\start.bat

::延迟30秒,等待启动完成

C:\Windows\System32\ping-n 30 127.0.0.1>nul

Jenkins安装、配置,常用中间件、插件构建实例


3.4 CheckStyle插件安装配置

在pom.xml中添加checkstyle插件

<plugin>

               <groupId>org.apache.maven.plugins</groupId>

               <artifactId>maven-checkstyle-plugin</artifactId>

                <version>2.15</version>

                <executions>

                      <execution>

                        <id>validate</id>

                        <phase>validate</phase>

                        <configuration>

                             <encoding>UTF-8</encoding>

                             <consoleOutput>true</consoleOutput>

                             <failsOnError>true</failsOnError>

                             <linkXRef>false</linkXRef>

                        </configuration>

                        <goals>

                             <goal>check</goal>

                        </goals>

                      </execution>

                </executions>

            </plugin>

 

<reporting> 

      <plugins> 

          <plugin> 

              <groupId>org.apache.maven.plugins</groupId> 

              <artifactId>maven-jxr-plugin</artifactId> 

              <version>2.3</version> 

          </plugin> 

      </plugins> 

  </reporting>


在【系统管理】-【管理插件】中添加Checkstyle Plug-in。
项目设置除下面2项外,其它请参考【3.1 构建Resin工程】配置,
Build中输入checkstyle:checkstyle

Jenkins安装、配置,常用中间件、插件构建实例
 
构建设置中勾选“Publish Checkstyle analysis results”

Jenkins安装、配置,常用中间件、插件构建实例


构建后点击【Checkstyle Warnings】即可看到Checkstyle检查结果

Jenkins安装、配置,常用中间件、插件构建实例

3.5 FindBugs插件安装配置

在pom.xml中添加findbugs插件

<pluginManagement>

      <plugins>

<plugin>

              <groupId>org.codehaus.mojo</groupId>

              <artifactId>findbugs-maven-plugin</artifactId>

              <version>2.5.5</version>

              <configuration>

                <effort>Default</effort>                        

<findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory>

              </configuration>

         </plugin>

     </plugins>

</pluginManagement>

<reporting>

      <plugins>

        <plugin>

           <groupId>org.codehaus.mojo</groupId>

           <artifactId>findbugs-maven-plugin</artifactId>

           <version>2.5.5</version>

        </plugin>

      </plugins>

</reporting>


在【系统管理】-【管理插件】中添加FindBugs Plug-in。
Build中输入clean compile findbugs:findbugs
Jenkins安装、配置,常用中间件、插件构建实例
 
构建设置中勾选“Publish FindBugs analysis results”
Jenkins安装、配置,常用中间件、插件构建实例
 
构建后点击【FindBugs Warnings】即可看到FindBugs检查结果

Jenkins安装、配置,常用中间件、插件构建实例

3.6 PMD插件安装配置

在pom.xml中添加PMD插件

<pluginManagement>

      <plugins>

<plugin>

              <groupId>org.apache.maven.plugins</groupId>

              <artifactId>maven-pmd-plugin</artifactId>

              <version>3.2</version>

              <configuration>

 <rulesets>                     

 <ruleset>${basedir}/src/test/resources/code-analysis-rules/pmd-java.xml</ruleset>

                 </rulesets>

              </configuration>

           </plugin>

</plugins>

</pluginManagement>

在【系统管理】-【管理插件】中添加PMD Plug-in。

Build中输入clean pmd:pmd

Jenkins安装、配置,常用中间件、插件构建实例

构建设置中勾选“PublishPMD analysis results”

Jenkins安装、配置,常用中间件、插件构建实例

 

构建后点击【PMDWarnings】即可看到FindBugs检查结果

Jenkins安装、配置,常用中间件、插件构建实例

3.7 Static Analysis Collector插件安装配置

Static Analysis Collector 可以整合Checkstyle、FindBugs和PMD的检查结果。
在【系统管理】-【管理插件】中添加Static Analysis Collector Plug-in。
Build中输入clean compile findbugs:findbugs checkstyle:checkstyle pmd:pmd
Jenkins安装、配置,常用中间件、插件构建实例
 
在增加构建后操作步骤中选择“Publish combined analysis results”
Jenkins安装、配置,常用中间件、插件构建实例
 
在Publish combined analysis results中勾选Checkstyle、FindBugs、PMD warnings
Jenkins安装、配置,常用中间件、插件构建实例
 
构建后点击【Static Analysis Warnings】即可看到整合后的检查结果

Jenkins安装、配置,常用中间件、插件构建实例

3.8 构建Sonar

运行Sonar

Build中输入clean sonar:sonar

 Jenkins安装、配置,常用中间件、插件构建实例

 

浏览器中输入http://ip:端口,访问sonar,即可看到分析结果。

Jenkins安装、配置,常用中间件、插件构建实例

3.9 JaCoCo插件安装配置

在pom.xml中添加JaCoCo插件

</plugins>

<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>pre-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>post-test</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>


<pluginManagement>
<plugins>

<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.4.201502262128</version>
</plugin>

</plugins>
</pluginManagement>


在【系统管理】-【管理插件】中添加JaCoCo插件。

在Pre Steps中输入如下命令:

::删除不做统计的xxx包的java代码

rd/s/qD:\programs\jenkins\workspace\xxx-junit\src\main\java\com\xxx\xxx\xxx

在Build中输入clean install

Jenkins安装、配置,常用中间件、插件构建实例

 

在增加构建后操作步骤中选择Record JaCoCo coverage report。

Jenkins安装、配置,常用中间件、插件构建实例

根据需要添加配置健康报告阈值

  Jenkins安装、配置,常用中间件、插件构建实例


构建后点击【Coverage Report】即可看到覆盖率报告

Jenkins安装、配置,常用中间件、插件构建实例