文档首页/ 编译构建 CodeArts Build/ 最佳实践/ 基于私有依赖库使用Maven构建并上传软件包(内置执行机/图形化构建)
更新时间:2024-10-09 GMT+08:00

基于私有依赖库使用Maven构建并上传软件包(内置执行机/图形化构建)

应用场景

当CodeArts Build提供的默认依赖库不满足业务要求时,用户可使用自己搭建的私有依赖库进行Maven构建。

本实践需要依赖使用的其他服务如下:

约束限制

  • 需已具备CodeArts Artifact服务的操作权限。
  • 需已具备CodeArts Repo服务的操作权限。

操作流程

表1 操作流程

流程

说明

新建项目

为本实践新建项目。

新建私有依赖库

新建本实践中使用的私有依赖库。

查询私有依赖仓库信息

查询私有依赖库的id和url信息,用于配置在代码仓的“pom.xml”文件中。

上传settings.xml文件至编译构建

上传“settings.xml”文件到编译构建服务的“文件管理”中。

新建CodeArts Repo代码仓

新建本实践需要使用的代码仓。

配置Maven构建产物发布的私有依赖库地址

配置构建产物上传的私有依赖库的地址。

新建编译构建任务

新建本实践需要使用的编译构建任务。

配置构建步骤并执行构建任务

配置“下载文件管理的文件”“Maven构建”步骤并执行构建任务。

查看编译构建结果

在私有依赖库中查看编译构建结果。

新建项目

  1. 使用华为云账号登录华为云控制台页面
  2. 单击页面左上角,在服务列表中选择开发与运维 > 软件开发生产线 CodeArts
  3. 单击“立即使用”,进入CodeArts服务首页。
  4. 在首页单击“新建项目”,选用“Scrum”项目模板。
  5. 项目名称填写“build-bestpractice”,其他保持默认即可。
  6. 单击“确定”后,进入到“build-bestpractice”项目下。

新建私有依赖库

  1. 选择导航栏制品仓库 > 私有依赖库
  2. 单击“新建”,按照如下表格配置参数。

    表2 新建私有依赖库参数说明

    参数

    说明

    仓库类型

    选择“本地仓”

    仓库名称

    自定义仓库名称,例如“private_repository”

    制品类型

    选择“Maven”

    归属项目

    默认填写为“build-bestpractice”,无需手动填写。

    添加路径白名单

    本实践不涉及,无需填写。

    版本策略

    选择发布的版本,Release(功能稳定的发行版本)或者Snapshot(功能不稳定、处于开发阶段中的快照版本)。本实践选择“Release”

    描述

    自定义描述信息。最多200个字符。

  3. 单击“确定”,进入到private_repository依赖库的详情页面。

查询私有依赖仓库信息

  1. 单击页面右上角“操作指导”
  2. 在弹出的窗口中保持默认选项,单击“下载配置文件”
  3. 在弹出的窗口中单击“下载”

    图1 下载配置文件

  4. 打开下载到本地的“settings.xml”文件,找到“<profile>”节点下定义的仓库信息<repository>中的“id”“url”,并记录。

    图2 查看仓库的id和url

上传“settings.xml”文件至编译构建

  1. 选择导航栏持续交付 > 编译构建
  2. 在编译构建任务列表页选择更多 > 文件管理
  3. 单击“上传文件”
  4. 在弹出的窗口中,上传查询私有依赖仓库信息中下载的“settings.xml”文件,勾选协议后单击“保存”

新建CodeArts Repo代码仓

  1. 选择导航栏代码 > 代码托管
  2. 单击“新建仓库”,选择“模板仓库”,单击“下一步”
  3. 选择“Java Maven Demo”模板,单击“下一步”
  4. 在按模板新建页面,“代码仓库名称”命名为“private_repository_repo”,其他参数保持默认即可。
  5. 单击“确定”,新建后代码仓文件目录如图3所示。

    图3 文件目录

配置Maven构建产物发布的私有依赖库地址

  1. 单击“pom.xml”文件,在右侧区域单击进入到文件编辑模式。
  2. 将如下代码示例粘贴到build标记下方。

    图4 pom文件代码示例
    <distributionManagement>
        <repository>
          <id>ID</id>
          <url>https://example/</url>
        </repository>
      </distributionManagement>

    其中“id”“url”4中查看到的“id”“url”

  3. 单击“确定”

新建编译构建任务

  1. 选择导航栏持续交付 > 编译构建
  2. 单击“新建任务”,按照如下参数说明配置参数,其他参数保持默认即可。

    • 名称:自定义,例如“private_repository_task”
    • 代码源:选择“Repo”
    • 代码仓:选择新建CodeArts Repo代码仓中新建的代码仓“private_repository_repo”

  3. 单击“下一步”,选择“空白构建模板”
  4. 单击“确定”,进入到构建步骤配置页面。

配置构建步骤并执行构建任务

  1. 单击“点击添加构建步骤”,添加“下载文件管理的文件”构建步骤,“步骤显示名称”“工具版本”保持默认,“下载文件”选择上传settings.xml文件至编译构建中上传的文件“settings.xml”
  2. 单击“添加步骤”,添加“Maven构建”构建步骤,“命令”窗口中mvn package -Dmaven.test.skip=true -U -e -X -B命令前加“#”注释,删除mvn deploy -Dmaven.test.skip=true -U -e -X -B前的“#”,并将mvn deploy -Dmaven.test.skip=true -U -e -X -B改为mvn deploy -Dmaven.test.skip=true -s settings.xml -U -e -X -B,其他参数保持默认即可。

    图5 打包命令
    图6 发布依赖包命令

  3. 单击“保存并执行”。在弹出的窗口中单击“确定”,等待构建任务执行完成。

查看编译构建结果

  1. 单击构建任务名称“private_repository_task”
  2. “构建历史”页签单击构建编号,查看步骤日志如下信息,其中“com/huawei/demo/javaMavenDemo/1.0”为构建产物在私有依赖库“private_repository”中上传的路径。

    图7 依赖包上传路径

  3. 选择导航栏制品仓库 > 私有依赖库
  4. 展开“private_repository”,打开“com/huawei/demo/javaMavenDemo/1.0”,可查看到本实践上传的软件包。

    图8 查看上传的软件包