持续集成平台 02 jenkins plugin 插件

拓展阅读

Devops-01-devops 是什么?

Devops-02-Jpom 简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件

代码质量管理 SonarQube-01-入门介绍

项目管理平台-01-jira 入门介绍 缺陷跟踪管理系统,为针对缺陷管理、任务追踪和项目管理的商业性应用软件

项目管理平台-01-Phabricator 入门介绍 一套集成的强大工具,帮助公司构建更高质量的软件

持续集成平台 01 jenkins 入门介绍

JUnit 插件

单元测试检测

JUnit 插件
JUnit 博客
JUnit 测试构建

  1. 安装 junit 插件

  2. 不跳过测试

  3. 编辑你项目中的 pom.xml

xml 复制代码
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${junit.version}</version>
    <scope>test</scope>
</dependency>

Sonar 插件

单元质量检测

Sonar 集成
Sonar 问题
准备

  1. 安装 SonarQube

  2. 在 Jenkins 中安装 SonarQube 插件

配置 Sonar 服务器

Jenkins--》系统设置--》SonarQube servers

  1. 服务器版本 5.2 或之前: 用户名/密码 默认为 admin/admin

  2. 服务器认证令牌

  • 生成令牌

配置->权限->用户->Tokens

输入一个名称,并生成一个:

30a4d56f3130d246818ed384ece7d15c56ae8c85 命名为 admin ,将其复制到 Server authentication token

配置 Sonar 扫描仪

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

配置项目

要让 Jenkins 编译完成后,自动将代码传给 SonarQube 进行分析,则需要配置 Jenkins 中的目标项目。 选择你的项目--》配置--》添加构建前步骤-》执行 SonarQube 扫描仪

在项目的根目录创建文件 sonar-project.properties, 项目属性路径 默认路径即为这个。内容如下:

sonar.projectKey=blog
sonar.projectName=blog
sonar.projectVersion=1.0
sonar.sources=src/main/java
sonar.language=java

或者直接将此内容添加在分析属性中。

  • 编辑你项目中的 pom.xml:
xml 复制代码
<plugin>
 <groupId>org.sonarsource.scanner.maven</groupId>
 <artifactId>sonar-maven-plugin</artifactId>
 <version>3.1.1</version>
</plugin>

错误

一直卡在这个问题

Unpacking https://repo1.maven.org/maven2/org/sonarsource/scanner/cli/sonar-scanner-cli/2.8/sonar-scanner-cli-2.8.zip 到 /Users/houbinbin/.jenkins/tools/hudson.plugins.sonar.SonarRunnerInstallation/SonarQube_Scanner on Jenkins

也就是要将这个文件下载下来,并解压缩到目标路径。手动操作,解决。

Cobertura

单元测试覆盖率

Cobertura+Plugin
Cobertura
代码覆盖率

  1. 安装 Cobertura 插件

  2. 构建时添加目标(Goals)如下:

    clean cobertura:cobertura package

  3. 构建后操作-》发布 Cobertura 覆盖率报告

设置 Cobertura xml 报告模式 如下:

**/target/site/cobertura/coverage.xml
  1. 编辑你项目中的 pom.xml
xml 复制代码
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>findbugs-maven-plugin</artifactId>
    <version>3.0.1</version>
    <configuration>
        <threshold>High</threshold>
        <effort>Default</effort>
        <findbugsXmlOutput>true</findbugsXmlOutput>
        <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
        <xmlOutput>true</xmlOutput>
        <!--<findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory>-->
    </configuration>
</plugin>

FindBugs

找寻代码中的 BUG

FindBugs+Plugin
FindBugs 中文版

  1. 在 Jenkins 中安装 FindBugs 插件

  2. 构建时添加目标(Goals)如下:

    findbugs:findbugs

注意: 使用 FindBugs 务必保证文件已被解析为 .class, 即已经被 maven compile

  1. 构建后操作-》发布 FindBugs 分析结果

FindBugs 结果 保持默认即可。

Javadoc

Javadoc+Plugin

  1. 在 Jenkins 中安装 Javadoc 插件

  2. 配置 Jenkins 任务:

在构建部分,目标和选项行添加:

javadoc:javadoc
  1. 发布 Javadoc

定义 Javadoc 目录

target/site/apidocs/
  1. 编辑你项目中的 pom.xml
xml 复制代码
<plugin>d
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <version>2.10.2</version>
    <configuration>
        <aggregate>true</aggregate>


 <additionalparam>-Xdoclint:none</additionalparam>
    </configuration>
</plugin>
  • <aggregate>true</aggregate> 多模块

  • <additionalparam>-Xdoclint:none</additionalparam> JDK8 对文档要求特别严格,使用这个偷懒。

BlueOcean

Blue Ocean 是重新构思 Jenkins 用户体验的新项目。从头开始设计用于 Jenkins Pipeline 并与 Freestyle 作业兼容,Blue Ocean 减少了混乱,增加了团队每个成员的清晰度。

BlueOcean

  1. 安装 BlueOcean beta

  2. 点击 Open Blue Ocean 来开始旅程~~~~~.

相关推荐
m0_571957581 小时前
Java | Leetcode Java题解之第543题二叉树的直径
java·leetcode·题解
魔道不误砍柴功3 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2343 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨3 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
测开小菜鸟5 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
P.H. Infinity6 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天6 小时前
java的threadlocal为何内存泄漏
java
caridle6 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
^velpro^6 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋36 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx