文档首页 > > 用户指南> Maven聚合构建

Maven聚合构建

分享
更新时间: 2020/03/24 GMT+08:00

背景

DevCloud编译构建服务提供了一系列Maven构建相关的构建步骤,如:配置开源镜像站配置Maven私有依赖库、Maven构建等,用户可自由组合以满足不同的Maven构建场景。但多样化的构建步骤也带来了使用的复杂性,为解决此问题提供功能聚合的构建步骤Maven聚合,包含特性如下:

  • Maven构建:执行mvn package、mvn deploy等命令(或其他shell命令)。
  • 自定义公有依赖仓库:支持使用非DevCloud提供的公开依赖仓库构建。
  • 自定义私有依赖仓库:支持使用非DevCloud提供的私有依赖仓库构建。
  • 增加mvn deploy配置:自动在pom文件增加deploy配置,配置后可使用mvn deploy发布私有依赖包到DevCloud私有库。
  • 支持构建后查看junit 单元测试报告。

目标

本文旨在演示构建步骤“Maven聚合”的使用,包括自定义公有依赖仓库、自定义私有依赖仓库、发布私有依赖包到DevCloud私有依赖仓库、查看单元测试报告等。

构建准备

  1. 构建前准备

    当您阅读此文档时,默认您已完成构建前置准备

  2. 准备代码仓库

    步骤“Maven聚合”步骤专为Maven项目开发,使用前请在DevCloud代码托管服务使用“按模板创建”创建Maven项目,或上传已有Maven项目到代码托管服务。

  3. 编写单元测试用例

    如要使用步骤“Maven聚合”提供的单元测试功能,需要于项目中编写单元测试代码,且满足如下条件:

    • 单元测试用例代码存放位置需满足Maven默认单元测试用例目录规范及命名规范,或自行在配置中执行用例位置。

      例如单元测试用例统一存放在路径“src/test/java/{{package}}/”中时,单元测试将在mvn构建过程被自动执行。

    • 项目中不可存在忽略单元测试用例配置,即如下配置不可存在于项目pom文件:
      <plugin>  
          <groupId>org.apache.maven.plugins</groupId>  
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.18.1</version>  
          <configuration>  
              <skipTests>true</skipTests>  
          </configuration>  
      </plugin>

添加Maven聚合步骤

新建编辑构建任务,在“构建步骤”配置页面添加步骤“maven聚合”

配置自定义公有依赖仓库

为区分不同仓库,步骤“Maven聚合”将仓库按其来源、网络、权限等特征分为公有依赖仓库和私有依赖仓库。

  • 公有依赖仓库:
    • DevCloud开源镜像站:编译构建服务默认配置,无需任何修改即可在构建任务中使用。
    • 自定义公有依赖仓库:非DevCloud提供的公有依赖仓库(公开访问的),需在“maven聚合”中配置公有依赖仓库方可使用。
  • 私有依赖仓库:
    • DevCloud私有依赖仓库:用户开通后,编译构建服务默认配置,无需任何修改即可在构建任务中使用。
    • 自定义私有依赖仓库:非DevCloud提供的私有依赖仓库(企业私有,访问需要授权账户认证),需在“maven聚合”中配置私有依赖仓库方可使用。

配置步骤如下:

  1. 单击“setting配置”

      

  2. 单击“公有依赖仓库”处的“添加”,输入要添加的依赖仓库地址,根据需要构建“release仓库”“snapshot仓库”

    • 若勾选“release仓库”,则构建过程将尝试从仓库中下载release版本依赖。
    • 若勾选“snapshot仓库”,则构建过程将尝试从仓库中下载snapshot版本依赖。
    • 若二者至少选择其一,可同时勾选。

  3. 单击“保存”,即完成使用指定的公有依赖仓库构建的配置。

配置自定义私有依赖仓库

  1. 进入设置 > 通用设置 > 服务扩展点管理 > 新建服务扩展点,添加私有仓库链接。详细操作请参考新建“nexus repository”连接

      

  2. 在步骤“Maven聚合”页面单击“setting配置”

      

  3. 单击“公有依赖仓库”处的“添加”,从下拉框选择“自定义私有依赖仓库连接”,根据需要构建“release仓库”“snapshot仓库”

      

  4. 单击“保存”,即完成使用指定的私有依赖仓库构建的配置。

发布依赖包到DevCloud私有依赖仓库

编译构建服务默认配置DevCloud私有依赖仓库作为私有依赖下载源,如需要将构建产物上传至私有依赖仓库,则需要添加此配置。

编译构建服务目前仅支持发布私有依赖到DevCloud私有依赖仓库。

操作步骤如下:

  1. 单击“发布依赖包到DevCloud私有依赖库”,勾选“配置所有pom”

      

    • 不配置POM:表示无需发布私有依赖包。
    • 配置所有POM:表示在项目下所有POM文件deploy配置,使用mvn deploy可将构建出的依赖包上传到DevCloud私有依赖仓库。

  2. 在命令窗口,使用#注释第8行默认命令,并删除第18行命令前的#

      

  3. 单击“保存”,即完成发布私有依赖到DevCloud私有依赖仓库的配置。

配置单元测试报告

  1. 在命令窗口,使用#注释第8行默认命令,并删除第13行命令前的#

      

    maven默认会在单元测试失败时将构建任务置为失败,故此处需使用此命令忽略失败,让构建任务继续执行;单元测试门禁控制可与“单元测试 -> 是否忽略用例失败”中配置

  2. 单击“单元测试”, 在“是否处理单元测试结果”处勾选“是”

      

  3. 根据需要勾选“是否忽略用例失败”

    • 若勾选“是”,则用例失败是构建任务任然成功。
    • 若勾选“否”,则用例失败时构建任务也失败。

  4. 配置单元测试结果文件路径。

    测试报告需要采集单元测试结果以生成可视化报告,故此处需指明单元测试结果文件路径:

    • 多数情况下,默认路径配置“*/TEST.xml”即可满足任务需求。
    • 为增加结果准确性,可根据实际情况指定精确的报告路径,如“target/surefire-reports/TEST*.xml”

  5. 单击“保存”,即完成单元测试配置。
  6. 执行编译构建任务。执行成功后,即可在“测试报告”标签页查看测试报告。

      

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区