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

使用Maven构建实现私有依赖包的上传及下载引用(内置执行机/图形化构建)

应用场景

本实践案例将为您介绍,如何在CodeArts Build构建工程中引用私有依赖仓中的二方或三方依赖包,实现应用的编译构建。本实践案例为您演示依赖包的发布和下载引用两个环节,共涉及2个Maven构建工程,1个私有依赖库。

  • 构建工程“dependency_task”:用于发布工具包,将“pom.xml”文件定义的“dependencyProject-1.0.jar”工具包发布到私有依赖库,为构建工程“release_task”提供依赖工具包引用。
  • 构建工程“release_task”:用于发布应用,构建时依赖构建工程“dependency_repo”发布到私有依赖库的工具包“dependencyProject-1.0.jar”
  • 私有依赖库“dependency_libs”:存放构建工程“dependency_task”发布的工具包“dependencyProject-1.0.jar”,为构建工程“release_task”提供依赖工具包下载。

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

约束限制

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

操作流程

表1 操作流程

流程

说明

新建项目

为本实践新建项目。

新建私有依赖库

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

新建dependency_repo代码仓

新建发布“dependencyProject-1.0.jar”工具包使用的代码仓。

新建dependency_task构建任务

新建发布“dependencyProject-1.0.jar”工具包的构建任务。

新建release_repo代码仓

新建发布应用使用的代码仓。

新建release_task构建任务

新建发布应用使用的构建任务,该构建任务依赖“dependencyProject-1.0.jar”工具包。

查看构建结果

查看本实践的的构建结果。

新建项目

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

新建私有依赖库

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

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

    参数

    说明

    仓库类型

    选择“本地仓”

    仓库名称

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

    制品类型

    选择“Maven”

    归属项目

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

    添加路径白名单

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

    版本策略

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

    描述

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

  3. 单击“确定”,进入到“dependency_libs”依赖库的详情页面。创建完成的私有依赖库如图1所示。

    图1 私有依赖库

新建dependency_repo代码仓

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

    图2 文件目录

  6. 单击“pom.xml”文件,在右侧区域单击,进入“pom.xml”文件编辑页面。

    图3 编辑pom.xml文件

  7. “groupId”修改为“com.huawei.dependency”“artifactId”修改为“dependencyProject”“name”修改为“dependency_project”,参考图4所示。单击“确定”,保存修改后的“pom.xml”文件。

    图4 修改pom.xml文件

新建dependency_task构建任务

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

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

  3. 单击“下一步”,选择“空白构建模板”。单击“确定”,进入到构建步骤配置页面。
  4. “构建步骤”页签,单击“图形化”,单击左侧“点击添加构建步骤”,添加“Maven构建”
  5. 单击“Maven构建”,按照如下说明配置构建步骤,其他参数保持默认即可。

    • 命令:mvn package -Dmaven.test.skip=true -U -e -X -B命令前加“#”,删除#mvn deploy -Dmaven.test.skip=true -U -e -X -B前的“#”
    • 发布依赖包到CodeArts私有依赖库:选择“配置所有pom”
    • “release仓库”选择新建私有依赖库中仓库名“dependency_libs”
      图5 配置Maven构建步骤

  6. 单击页面右上角“保存并执行”,在弹出的窗口中单击“确定”,自动跳转到构建任务执行页面。
  7. 待构建任务成功执行完成后,选择页面导航栏制品仓库 > 私有依赖库,在私有依赖库展开“dependency_libs(Release)”目录,可查看发布的依赖包,如图6所示,为本次的构建产物。

    图6 查看依赖包

新建release_repo代码仓

  1. 在选择导航栏代码 > 代码托管
  2. 单击“新建仓库”,选择“模板仓库”,单击“下一步”
  3. 选择“Java Maven Demo”模板,单击“下一步”
  4. 在按模板新建页面,“代码仓库名称”命名为“release_repo”,其他参数保持默认即可。
  5. 单击“确定”,自动跳转到“代码仓详情”页面。
  6. 单击“pom.xml”文件,在右侧区域单击,进入“pom.xml”文件编辑页面,将如下代码复制到图7中红框处。单击“确定”,保存修改后的“pom.xml”文件。

    以下示例代码表示“dependency”节点新增了对新建dependency_task构建任务中生成的依赖包“dependencyProject-1.0.jar”的引用。

    <modelVersion>4.0.0</modelVersion>
      <groupId>com.huawei.release</groupId>
      <artifactId>releaseProject</artifactId>
      <packaging>jar</packaging>
      <version>1.0</version>
      <name>release_roject</name>
      <url>http://maven.apache.org</url>
      <dependencies>
        <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
        </dependency>
        <dependency>
        <groupId>com.huawei.dependency</groupId>
        <artifactId>dependencyProject</artifactId>
        <version>1.0</version>
        </dependency>
      </dependencies>
    图7 修改pom.xml文件

新建release_task构建任务

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

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

  3. 单击“下一步”,选择“空白构建模板”。单击“确定”,进入到构建步骤配置页面。
  4. “构建步骤”页签,单击“图形化”,单击左侧“点击添加构建步骤”,添加“Maven构建”,参数保持默认配置即可。
  5. 单击页面右上角“保存并执行”,在弹出的窗口中单击“确定”,自动跳转到构建任务执行页面。

    图8 执行构建任务

查看构建结果

“步骤日志”页签中,“构建日志”控制台会滚动打印构建任务执行日志信息。如图所示,日志控制台输出信息表示从私有依赖库“dependency_libs”拉取依赖工具包“dependencyProject-1.0.jar”“dependencyProject-1.0.jar”新建dependency_task构建任务中发布到私有依赖库的工具包。

图9 查看构建日志