编译构建 CodeArts Build-使用Maven构建:图形化构建

时间:2025-02-12 15:15:01

图形化构建

配置构建步骤中,添加“Maven构建”构建步骤,参考表1配置参数。

表1 Maven构建步骤参数说明

参数

说明

步骤显示名称

构建步骤的名称,可自定义修改。

  • 支持中文、英文、数字、“-”“_”、英文逗号、英文分号、英文冒号、“.”“/”、圆括号(中英文)。
  • 字符长度范围为1~128。

工具版本

根据用户实际开发环境的需要,选择对应的工具版本。

CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境

命令

配置Maven命令,一般使用系统默认生成的命令即可。如果需要配置更多命令,可参考Maven官网

失败后是否继续运行

当前步骤执行失败后是否继续执行下一个步骤,根据实际使用场景选择是或否。

setting配置

  • 自动生成setting文件并配置依赖仓库:可根据用户的IP不同,自动识别最优站点访问CodeArts提供的“setting.xml”文件。

    国内用户使用“国内站点”,国际用户使用“国际站点”。建议使用默认配置。

    “setting.xml”文件中定义了默认的依赖拉取顺序和镜像源代理等配置信息,如果需要使用自定义的“setting.xml”文件,可添加自定义setting.xml文件,然后在默认的打包命令末尾添加--settings settings.xml,即可使用已添加的“settings.xml”文件执行Maven构建。

  • 公有依赖仓库:默认已添加华为开源镜像站,同时配置了HuaweiSDK仓库。此配置仅在需要添加非CodeArts提供的公有依赖仓库时使用,添加方法如下:
    1. 单击“添加”
    2. 填写公有依赖仓库地址,根据需要勾选“release仓库”“snapshot仓库”。release仓库和snapshot仓库至少勾选一个,也可以同时勾选。

      release仓库:勾选后,构建过程将尝试从仓库中下载release版本依赖。

      snapshot仓库:勾选后,构建过程将尝试从仓库中下载snapshot版本依赖。

  • 私有依赖库:默认已配置CodeArts提供的私有依赖仓库。此配置仅在需要添加其它私有依赖仓库时使用,添加方法如下:
    1. 新建nexus repository服务扩展点
    2. 单击“添加”,选择上一步创建的服务扩展点,并根据需要勾选“release仓库”“snapshot仓库”
说明:

“release仓库”“snapshot仓库”两种仓库对应的使用场景区分如下,使用时要务必注意区分,避免出现如“将依赖上传到软件发布库但是构建时无法下载”此类场景。

  • “snapshot仓库”:对于以调试为目的发布的私有依赖包,一般会给依赖版本号增加-SNAPSHOT后缀(如:1.0.0-SNAPSHOT),执行发布操作时,此类依赖会自动发布到snapshot仓库,发布时无需更新版本号,构建命令中增加-U参数即可拉取最新版本。
  • 对于正式发布的私有依赖包,版本号中不可带-SNAPSHOT后缀(如:1.0.0),执行发布操作时,此类依赖会自动发布到release仓库,发布时必须更新版本号,否则会导致构建过程无法拉取最新依赖包。

发布依赖包到CodeArts私有依赖库

编译构建服务默认使用私有依赖库作为私有依赖下载源,如果需要将构建产物上传至私有依赖库供其他项目依赖使用,则需要添加此配置。配置前,需已创建私有依赖库。配置方法如下:

  • 不配置pom:表示无需发布私有依赖包到CodeArts私有依赖库。
  • 配置所有pom:表示在项目下所有“pom.xml”文件增加deploy配置,使用mvn deploy命令将构建出的依赖包上传到私有依赖仓库。

    配置后,需在命令窗口,使用“#”注释命令mvn package -Dmaven.test.skip=true -U -e -X -B,如下图:

    删除#mvn deploy -Dmaven.test.skip=true -U -e -X -B命令前的“#”,如下图:

上传的私有依赖包,在其他项目添加pom.xml文件中的groupId、artifactId、version坐标即可引用。

单元测试

如果用户需要对单元测试结果进行处理,可配置此项。详见配置单元测试

缓存配置

选择是否使用缓存以提高构建速度,选择“使用缓存”后,每次构建时会把下载依赖包缓存起来,后续构建无需重复拉取,可有效提高构建速度。

说明:

maven构建的依赖包存入缓存之后,只有当租户下面构建的项目有引进新的依赖包时,才会更新缓存目录,并不支持对已有的依赖包缓存文件进行更新。

support.huaweicloud.com/usermanual-codeci/codeci_ug_00051.html