Maven构建
Maven主要用于基于Java的项目的构建、依赖管理和项目信息管理。
操作视频
本视频介绍基于图形化构建方式执行Maven构建的操作。
图形化构建
在配置构建步骤中,添加“Maven构建”构建步骤,参考表1配置参数。
参数 |
说明 |
---|---|
步骤显示名称 |
构建步骤的名称,可自定义修改。
|
工具版本 |
根据用户实际开发环境的需要,选择对应的工具版本。 CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以制作镜像并推送到SWR仓库。 |
命令 |
配置Maven命令,一般使用系统默认生成的命令即可。如果需要配置更多命令,可参考Maven官网。 |
失败后是否继续运行 |
当前步骤执行失败后是否继续执行下一个步骤,根据实际使用场景选择是或否。 |
setting配置 |
|
发布依赖包到CodeArts私有依赖库 |
编译构建服务默认使用私有依赖库作为私有依赖下载源,如果需要将构建产物上传至私有依赖库供其他项目依赖使用,则需要添加此配置。配置前,需已创建私有依赖库。配置方法如下:
上传的私有依赖包,在其他项目添加pom.xml文件中的groupId、artifactId、version坐标即可引用。 |
单元测试 |
如果用户需要对单元测试结果进行处理,可配置此项。详见配置单元测试。 |
缓存配置 |
选择是否使用缓存以提高构建速度,选择“使用缓存”后,每次构建时会把下载依赖包缓存起来,后续构建无需重复拉取,可有效提高构建速度。 Maven构建的依赖包存入缓存之后,只有当租户下面构建的项目有引进新的依赖包时,才会更新缓存目录,并不支持对已有的依赖包缓存文件进行更新。 |
代码化构建
参考以下代码示例,修改在创建代码化构建使用的YAML文件中的BUILD部分代码信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
version: 2.0 # 必须是2.0 steps: BUILD: - maven: image: cloudbuild@maven3.5.3-jdk8-open inputs: settings: public_repos: - https://mirrors.example.com/maven cache: true # 是否开启缓存 unit_test: coverage: true ignore_errors: false report_path: "**/TEST*.xml" enable: true coverage_report_path: "**/site/jacoco" command: mvn package -Dmaven.test.failure.ignore=true -U -e -X -B ignore_fail: true |
参数 |
类型 |
说明 |
---|---|---|
image |
string |
填写镜像地址,有以下两种格式。 |
settings |
map |
可选参数。当用户需要使用自定义“settings.xml”文件时,需要配置该参数。 不配置,则默认使用CodeArts提供的setting.xml文件,如果需要使用自定义的“settings.xml”文件,可先添加自定义setting.xml文件,然后在默认的打包命令mvn package -Dmaven.test.failure.ignore=true -U -e -X -B末尾添加--settings settings.xml。 |
cache |
bool |
可选参数。 配置是否开启缓存。
默认值:false。 |
command |
string |
配置执行的Maven命令。如果需要配置更多命令,可参考Maven官网。 |
unit_test |
map |
可选参数。 配置单元测试。详细操作指导参考配置单元测试。 |
ignore_fail |
string |
用于控制当前步骤执行失败后是否继续执行下一个步骤。
|
添加自定义“setting.xml”文件
- 文件大小限制为100k。
- 文件类型限制为:.xml、.key、.keystore、.jks、.crt、.pem。
- 最多支持上传20个文件。
添加文件有以下两种方式:
- 图形化构建
- 在“Maven构建”的命令窗口执行cat /home/build/.m2/settings.xml命令,任务执行完成后,会在构建日志中展示“settings.xml”文件的内容。
- 参考构建日志中的“settings.xml”的信息自定义新的“settings.xml”文件。
- 在“Maven构建”步骤前增加“下载文件管理的文件”构建步骤。
自定义步骤显示名称,工具版本当前仅支持“shell4.2.46-git1.8.3-zip6.00”。
- 单击“上传”,在弹出的窗口中选择2中自定义的文件,添加描述,勾选相关协议,然后单击“保存”。
- 在“下载文件”中选择上传的“setting.xml”文件。
- 代码化构建
参考以下代码示例,修改在创建代码化构建使用的YAML文件中的BUILD部分代码信息。
1 2 3 4 5 6 7
version: 2.0 # 必须是2.0 steps: BUILD: - download_file: inputs: name: settings.xml ignore_fail: true
表3 下载文件管理的文件代码示例参数说明 参数
类型
说明
name
string
setting文件名称。
ignore_fail
string
用于控制当前步骤执行失败后是否继续执行下一个步骤。
- true:是。
- 为空:否。
其他操作
配置单元测试和配置使用JaCoCo生成单元测试覆盖率报告为可选操作,请根据实际需要进行配置。
- 单元测试:Maven构建工具中的单元测试主要用于验证软件代码的基本功能是否按照预期工作。在Maven项目中,通常使用JUnit或其他测试框架来编写和运行这些单元测试。
- 配置使用JaCoCo生成单元测试覆盖率报告:单元测试覆盖率报告用来衡量代码中哪些部分已经被单元测试覆盖,哪些部分还没有被覆盖。它可以帮助开发人员了解他们的测试是否充分地检查了所有的代码路径和逻辑。