持续交付中,每个构建都可以交付 。 这个事实意味着,除其他外,要尽可能快地为您的组件分配无快照版本,以便您可以在所有过程中引用它们。 通常,自动化软件交付过程包括多个阶段,例如提交阶段,代码质量,验收测试,手动测试,部署 ………但是让我们集中讨论与代码质量相关的第二阶段。 请注意,在我之前的文章( http://www.lordofthejars.com/2013/02/conditional-buildstep-jenkins-plugin.html )中,这里使用了一些概念。

连续交付的 第二阶段是代码质量。 这一步非常重要,因为这是我们运行静态代码分析以检测可能的缺陷的地方 (通常是NPE ),代码约定或不必要的对象创建。 通常使用的一些项目包括Checkstyle , PMD或FindBugs等。 在这种情况下,我们将看到如何使用Checkstyle ,但是在其他任何工具中它当然都非常相似。 因此,要做的第一件事是将Checkstyle配置为我们的构建工具(在本例中为Maven )。 因为我们只想在管道的第二阶段中运行静态分析,所以我们将把Checkstyle Maven插件注册到指标配置文件中。 请记住,所有用于代码分析的插件都应添加到该配置文件中。

<profiles>
   <profile>
     <id>metrics<id>
     <build>
       <plugins>
       <!--  CHECKSTYLE  -->
         <plugin>
           <groupId>org.apache.maven.plugins<groupId>
           <artifactId>maven-checkstyle-plugin<artifactId>
           <version>2.9.1<version>
         <plugin>
       <plugins>
     <build>
   <profile>
 <profiles>

Checkstyle配置了pom ,我们可以配置Jenkins在第一阶段之后运行代码质量阶段(在我之前的文章中有解释)。 在这种情况下,我们将使用Trigger Parameterized Build插件从提交阶段执行代码质量作业。 由于当前构建版本的代码已在提交阶段被推送到发行分支(请参阅我的上一篇文章),因此我们需要将分支名称设置为代码质量Jenkins作业的参数,以便可以下载代码然后运行静态分析。

在其他项目上添加类型为Trigger参数化构建的Post-build Action 。 首先,我们打开管道的第一个构建作业的Configure菜单,然后对其进行配置,以便仅当当前作业稳定时才执行管道的下一个构建作业( helloworld-code-quality )。 另外,我们使用分支名称定义RELEASE_BRANCH_NAME参数。

jenkins 代码检查javascript_vue

helloworld-code-quality 。 然后,我们配置新的构建作业。 首先,检查选项“ 此构建已参数化 ”,并添加String参数并设置名称RELEASE_BRANCH_NAME 。 之后,我们可以在当前作业中使用RELEASE_BRANCH_NAME参数。 因此,在“ 源代码管理”部分,我们添加了存储库URL ,在“ 分支”中,我们设置了origin / $ {RELEASE_BRANCH_NAME}

构建部分,我们添加一个Maven构建步骤,该步骤执行Checkstyle目标: checkstyle:checkstyle -P指标。 最后,为了更好地了解结果,我们可以安装Checkstyle Jenkins插件并发布报告。 安装插件后,我们可以添加一个名为“ 发布Checkstyle分析结果 ”的新的构建后操作 。 在我们的案例中,报告位于** / target / checkstyle-result.xml

jenkins 代码检查javascript_java_02

Checkstyle Maven插件将代码质量阶段运行到Jenkins中 。

参考:在One Jar To Rule Them All博客中使用 JCG合作伙伴 Alex Soto的Jenkins进行代码质量阶段 。

翻译自: https://www.javacodegeeks.com/2013/02/code-quality-stage-using-jenkins.html