云服务器内容精选

  • 代码化构建 参考以下代码示例,修改在创建代码化构建使用的YAML文件中的BUILD部分代码信息。 1 2 3 4 5 6 7 8 9 10 11 12 version: 2.0 # 必须是2.0 steps: BUILD: - harmonyos: name: "HarmonyOS Build" inputs: command: | npm config set strict-ssl false npm config set registry=https://repo.huaweicloud.com/repository/npm/ npm config set @ohos:registry=https://repo.harmonyos.com/npm/ chmod +x hvigorw ./hvigorw clean assembleApp --no-daemon 表2 代码示例参数说明 参数 类型 说明 command string 配置HarmonyOS的执行命令。
  • 图形化构建 在配置构建步骤中,添加“HarmonyOS构建”构建步骤,参考表1配置参数。 表1 HarmonyOS构建参数说明 参数 说明 步骤显示名称 构建步骤的名称,可自定义修改。 支持中文、英文、数字、“-”、“_”、英文逗号、英文分号、英文冒号、“.”、“/”、圆括号(中英文)。 字符长度范围为1~128。 工具版本 默认版本为“HarmonyOS-API9”,当前仅支持该版本。 命令 配置命令,一般使用系统默认给出的命令即可。如有特殊构建要求,可以在文本域中输入自定义的构建脚本。
  • CodeArts Build服务首页功能总览 CodeArts Build提供多种外观主题,本节以“无限+经典”主题为例介绍导航栏内容。 表2 首页功能总览说明 菜单项 说明 单击下拉列表可切换服务所属区域。 每个区域之间数据及资源不互通,请选择您已购买的区域进行使用。 单击下拉列表,可选择“编译构建”,进入编译构建服务首页。 该页面展示当前租户创建的所有项目的所有构建任务。 如果以项目入口访问CodeArts Build服务,单击此处的下拉列表,可切换至其它项目。 单击可在下拉列表中访问自定义模板、自定义构建环境、文件管理、构建任务回收站和构建资源池管理。 单击可执行构建任务。 单击可收藏构建任务。 单击可在下拉框中编辑、复制、禁用和删除构建任务。
  • 多任务构建 --- version: 2.0 #构建参数定义, 参数必须以name,value成对出现,不赋值默认为空字符串,引用方式为${申明的参数名称name} params: - name: machineArch value: X86 - name: jobCondition value: 1 - name: jobsCondition value: 1 # 构建环境配置,env和envs配置为非必填项,二选一。当用户需要使用条件判断确定使用的主机规格与类型时,选择配置envs env: resource: type: docker arch: X86 class: 8U16G pool: Mydocker envs: - condition: machineArch == 'ARM' resource: type: docker arch: ARM - condition: machineArch == 'X86' resource: type: docker arch: X86 # buildflow和buildflows配置二选一。当需要使用条件判断执行的jobs时,选择配置buildflows buildflow: strategy: Lazy jobs: - job: Job3 depends_on: - Job1 - Job2 build_ref: .cloudbuild/build3.yml - job: Job1 build_ref: .cloudbuild/build1.yml - job: Job2 build_ref: .cloudbuild/build2.yml buildflows: - condition: jobsCondition == 1 jobs: - job: Job1 build_ref: .cloudbuild/build1.yml params: - name: job1Params value: 1 - condition: jobCondition == 1 job: Job2 build_ref: .cloudbuild/build2.yml params: - name: job2Params value: 2 - job: Job3 depends_on: - Job1 - Job2 build_ref: .cloudbuild/build3.yml - condition: jobsCondition == 2 jobs: - job: Job3 build_ref: .cloudbuild/build3.yml 表2 多任务语法配置说明 参数 类型 说明 是否必填 version string YAML文件版本号配置项,用于指定YAML文件版本号。固定值,目前只支持2.0。 是 params map 全局参数配置项,参数必须以name和value成对出现,不赋值默认为空字符串,引用方式为${申明的参数名称name}。 示例中定义的参数,引用方式:作为参数输入时使用${machineArch},作为condition条件判断时使用申明的参数名称machineArch。 - name:参数名称。 value:参数名称对应的参数值。 否 env map 构建环境配置项,与envs配置功能相同,两者配置其一即可,不支持条件语句condition。 resource:构建环境资源信息。 type:资源池类型,可输入参数值(docker或custom),docker表示使用默认执行机,custom表示使用自定义执行机,必填项。 arch:构建执行机架构,可输入参数值(X86或ARM),必填项。 class:构建执行机规格,可输入参数值(2U8G、4U8G、8U16G、16U32G、16U64G),当type=docker时该参数生效,默认为2U8G,其他规格需要单独购买对应规格的并发包才能正常使用,非必填。 pool:自定义资源池名称,当type=custom时该参数生效,非必填。 否 envs map 构建环境配置项,与env配置功能相同,两者配置其一即可,支持条件语句condition,可以更加灵活的根据不同场景使用同一个YAML文件。 - condition:条件判断语句,符合当前条件判断的会使用对应resource配置的环境信息。 resource:构建环境资源信息。 type:资源池类型,可输入参数值(docker或custom),docker表示使用默认执行机, custom表示使用自定义执行机,必填项。 arch:构建执行机架构,可输入参数值(X86或ARM),必填项。 class:构建执行机规格,可输入参数值(2U8G、4U8G、8U16G、16U32G、16U64G),当type=docker时需要填写该参数,默认为2U8G,其他规格需要单独购买对应规格的并发包才能正常使用,非必填。 pool:自定义资源池名称,当type=custom时需要填写该参数,非必填。 否 buildflow map 在CodeArts Build中Build Job是构建的最小单元,适用于业务比较简单的场景,但是在有些复杂的构建场景下,Build Job可能并不能满足复杂的构建要求,比如多仓工程需要分布到多个机器上去构建,并且构建工程之间还存在一定的依赖关系,又或者希望将Build Job中的构建任务拆分成更加模块化,更加细粒度的构建任务,并按照依赖顺序进行构建。对于比较复杂的构建场景,可以使用BuildFlow将多个有依赖关系的Build Job按照有向无环图(DAG)的方式组装起来,CodeArts Build将会按照构建的依赖关系以最大的并发进行构建,提升构建效率。 strategy:定义buildFlow运行的策略,支持Lazy(构建时间相对较长,但是可以节省构建资源,在资源池资源不足时使用,优先触发优先级高的子任务构建)和Eager(构建时间相对较快,可能造成资源空闲等待,在资源池充足时推荐使用,同步触发所有任务),非必填,默认值Eager。 jobs:任务编排,定义子job之间的依赖关系,必填项。 - job:子任务名称,必填项。 depends_on:是否依赖子任务,填写依赖子任务的job名称,当前job依赖于Job1和Job2,非必填。 - Job1 - Job2 build_ref:当前job构建使用的YAML文件路径(相对于仓库根目录),YAML文件是一个独立的可执行构建的完整文件,参考单任务构建,必填项。 - job:子任务名称,必填项。 build_ref:当前job构建使用的YAML文件路径(相对于仓库根目录),必填项。 - job:子任务名称,必填项。 build_ref:当前job构建使用的YAML文件路径(相对于仓库根目录),必填项。 buildflows map 当buildflow中需要做条件判断时使用buildflows,针对不同业务场景进行适配,更好的对YAML文件进行通用。 - condition:条件判断语句,符合当前条件判断的会使用对应jobs配置,condition必须放在buildflows下面。 jobs:任务编排,定义子job之间的依赖关系,必填项。 - job:子任务名称,必填项。 build_ref:当前job构建使用的YAML文件路径(相对于仓库根目录),YAML文件是一个独立的可执行构建的完整文件,参考单任务构建,必填项。 params:子任务定义的参数,作用域为子任务引用的YAML文件,可以在子任务使用的YAML文件中引用此处定义的参数,非必填。 - name:参数名称。 value:参数名称对应的参数值。 - condition:条件判断语句,符合当前条件判断的会使用对应job配置。 job:子任务名称,必填项。 build_ref:当前job构建使用的YAML文件路径(相对于仓库根目录),必填项。 params:子任务定义的参数,作用域为子任务引用的YAML文件,非必填。 - name:参数名称。 value:参数名称对应的参数值。 - job:子任务名称,必填项。 depends_on:是否依赖子任务,填写依赖子任务的job名称,当前job依赖于Job1和Job2,非必填。 - Job1 - Job2 build_ref:当前job构建使用的YAML文件路径(相对于仓库根目录),必填项。
  • 单任务构建 --- version: 2.0 #构建参数定义, 参数必须以name,value成对出现,不赋值默认为空字符串,引用方式为${申明的参数名称name} params: - name: machineArch value: X86 #构建环境配置,env和envs配置为非必填项,二选一。当用户需要使用条件判断确定使用的主机规格与类型时,选择配置envs env: resource: type: docker arch: X86 class: 8U16G pool: Mydocker envs: - condition: machineArch == 'ARM' resource: type: docker arch: ARM - condition: machineArch == 'X86' resource: type: docker arch: X86 #构建步骤 steps: PRE_BUILD: - checkout: name: checkout inputs: scm: codehub url: git@codehub.devcloud.cn-north-7.ulanqab.huawei.com:huang-test00001/maven.git branch: master commit: commitId lfs: true submodule: true depth: 100 tag: tag path: test - manifest_checkout: name: "manifest" inputs: manifest_url: https://codehub.devcloud.xxxxxxx.ulanqab.huawei.com/IPD-xxxxxx/manifest.git manifest_branch: master manifest_file: default.xml path: dir/dir02 lfs: true repo_url: https://codehub.devcloud.xxxxxxx.ulanqab.huawei.com/IPD-xxxxxx/git-repo.git repo_branch: master username: someone password: PASSWD - sh: inputs: command: echo ${machineArch} BUILD: # 构建步骤 - maven: name: Maven构建 image: cloudbuild@maven3.5.3-jdk8-open inputs: settings: public_repos: - https://mirrors.huawei.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 check: project_dir: ./ settings: ~/.m2/settings.xml param: '' - upload_artifact: inputs: path: "**/target/*.?ar" version: 2.1 name: packageName 表1 单任务语法配置说明 参数 类型 说明 是否必填 version string YAML文件版本号配置项,用于指定YAML文件版本号。固定值,目前只支持2.0。 是 params map 全局参数配置项,参数必须以name和value成对出现,不赋值默认为空字符串,引用方式为${申明的参数名称name}。 示例中定义的参数,引用方式:作为参数输入时使用${machineArch},作为condition条件判断时使用申明的参数名称machineArch。 - name:参数名称。 value:参数名称对应的参数值。 否 env map 构建环境配置项,与envs配置功能相同,两者配置其一即可,不支持条件语句condition。 resource:构建环境资源信息。 type:资源池类型,可输入参数值(docker或custom),docker表示使用默认执行机,custom表示使用自定义执行机,必填项。 arch:构建执行机架构,可输入参数值(X86或ARM),必填项。 class:构建执行机规格,可输入参数值(2U8G、4U8G、8U16G、16U32G、16U64G),当type=docker时该参数生效,默认为2U8G,其他规格需要单独购买对应规格的并发包才能正常使用,非必填。 pool:自定义资源池名称,当type=custom时该参数生效,非必填。 否 envs map 构建环境配置项,与env配置功能相同,两者配置其一即可,支持条件语句condition,可以更加灵活的根据不同场景使用同一个YAML文件。 - condition:条件判断语句,符合当前条件判断的会使用对应resource配置的环境信息。 resource:构建环境资源信息。 type:资源池类型,可输入参数值(docker或custom),docker表示使用默认执行机, custom表示使用自定义执行机,必填项。 arch:构建执行机架构,可输入参数值(X86或ARM),必填项。 class:构建执行机规格,可输入参数值(2U8G、4U8G、8U16G、16U32G、16U64G),当type=docker时需要填写该参数,默认为2U8G,其他规格需要单独购买对应规格的并发包才能正常使用,非必填。 pool:自定义资源池名称,当type=custom时需要填写该参数,非必填。 否 steps map 构建步骤执行配置项,配置构建流程,包括构建前准备,构建执行的具体任务。 PRE_BUILD:构建前准备工作配置项,一般用作于构建前的代码下载工作。 BUILD:构建任务配置项,用于执行业务相关的具体构建任务。 是 steps: PRE_BUILD map 构建前准备工作配置项,一般用作于构建前的代码下载工作,目前只支持checkout、manifest_checkout 和sh配置项,一般情况配置其中一种即可。 - checkout:单代码仓下载。 name:构建步骤名称,支持自定义名称,非必填,默认值“代码检出”。 inputs:步骤输入参数,每个步骤的输入参数不同,详见具体构建步骤说明,必填项。 scm:代码源,当前只支持codehub,非必填,默认值codehub。 url:拉取代码的ssh地址或者https地址。codehub拉取代码时为ssh,其他代码源为https,必填项。 branch:拉取的代码分支名,必填项。 commit:commitId构建时拉取的commitId,非必填。 lfs: 是否开启git lfs,非必填,默认值false。 submodule:是否拉取子模块,非必填,默认值false。 depth:浅克隆深度。选择commitId构建时,depth必须大于等于commitId所在深度,非必填,默认值1。 tag:tag构建时拉取的tag名,如果commit和tag同时存在,优先执行commit构建,非必填。 path:clone的子路径,代码将会下载到子目录下面,非必填。 - manifest_checkout: 多代码仓下载。 name:构建步骤名称,支持自定义名称,非必填,默认值“manifest_checkout”。 inputs:步骤输入参数,每个步骤的输入参数不一样,详见具体构建步骤说明,必填项。 manifest_url:指定manifest仓地址,包含xml文件的仓库,必填项。 manifest_branch:指定manifest分支或revision,非必填,默认值HEAD。 manifest_file:manifest文件路径,定义的多仓库必须为同一种源码源,非必填,默认值default.xml。 path:自定义manifest所有子仓下载路径,为工作目录的相对路径路径,不能以“/”开头,不能包含“.”,非必填,默认值为当前工作目录。 lfs:是否开启git lfs,非必填,默认值false。 repo_url:repo仓库地址,非必填。 repo_branch:repo仓库分支,非必填,默认值stable。 username:下载仓库时使用的用户名,下载非公开仓库时需填写,非必填。 password:下载仓库时使用的密码,下载非公开仓库时需填写,非必填。 - sh:执行shell命令。 inputs:步骤输入参数,每个步骤的输入参数不一样,详见具体构建步骤说明,必填项。 command:执行shell命令,当checkout或manifest_checkout无法满足业务诉求时,可以自定义编写shell命令进行构建前的准备工作,必填项。 是 steps: BUILD map 构建任务配置项,用于执行业务相关的具体构建任务,只支持特定构建步骤,构建步骤根据业务实际情况进行自由组合,具体构建步骤参考选择构建步骤。 - maven:Maven构建步骤定义。 name:构建步骤名称,支持自定义名称,非必填,默认值“Maven构建”。 image:构建使用的容器镜像,支持自定义和默认镜像,默认镜像名称为“cloudbuild@”加上工具版本名称,工具版本名称可以参考构建工具版本,必填项。 inputs:步骤输入参数,每个步骤的输入参数不一样,详见具体构建步骤说明,必填项。 settings:maven构建的settings配置,非必填。 public_repos:指定依赖包下载仓库地址。 - https://mirrors.huawei.com/maven cache:是否开启缓存,非必填,默认值false。 unit_test:单元测试,非必填。 coverage:是否处理覆盖率数据,非必填,默认值false。 ignore_errors:是否忽略单元测试错误,非必填,默认值true。 report_path:单元测试数据路径,必填项。 enable:是否处理单元测试数据,非必填,默认值true。 coverage_report_path:覆盖率数据路径,非必填。 command:执行构建命令,必填项。 check:检查配置,非必填。 project_dir:工程路径,必填项。 settings:maven构建的settings路径,非必填。 param:maven参数,非必填。 - upload_artifact:上传二进制包至artifact仓库构建步骤定义。 inputs:步骤输入参数,每个步骤的输入参数不一样,详见具体构建步骤说明,必填项。 path:上传文件的路径及名称,支持通配符,必填项。 version:版本名称,非必填,默认值以构建编号命名。 name:文件名,非必填,默认值以文件原始名命名。
  • 图形化构建 在配置构建步骤中,添加“上传软件包到软件发布库”构建步骤,参考表1配置参数。 当执行机选择Windows执行时,需添加“上传软件包到软件发布库(Windows环境)”构建步骤。 表1 上传软件包到软件发布库参数说明 参数 说明 步骤显示名称 构建步骤的名称,可自定义修改。 支持中文、英文、数字、“-”、“_”、英文逗号、英文分号、英文冒号、“.”、“/”、圆括号(中英文)。 字符长度范围为1~128。 构建包路径 填写构建结果所在路径。 构建包路径支持正则匹配,“**”递归遍历当前目录,“*”匹配0或者多个字符,“?”匹配一个字符。 系统文件分隔符使用“/”,路径不区分大小写。 举例说明: *.class:当前目录下匹配“.class”结尾的文件。 **/*.class:当前目录下递归匹配所有的“.class”结尾的文件。 test/a??.java:匹配“test”目录下以“a”开头后跟两个字符的java文件。 **/test/**/XYZ*:递归匹配父目录为“test”文件是“XYZ”开头的所有文件,比如“abc/test/def/ghi/XYZ123”。 发布版本号 可选参数。 配置当前构建任务生成的软件包上传到软件发布库中的目录名。 不指定(推荐):以构建编号命名上传到发布库的文件存储目录名。 指定:可能会覆盖同名存储目录下的文件。 包名 可选参数。 配置当前构建任务生成的软件包上传到软件发布库中的软件包名称。 不指定(推荐):以文件原始名命名上传到发布库的文件名。包名推荐设置为空,可以上传构建包路径匹配的所有文件。 指定:上传多个文件时,可能会存在被覆盖的情况。如果包名需要设置且存在多个文件上传的情况,推荐增加多个“上传软件包到软件发布库”的构建步骤。
  • 代码化构建 参考以下代码示例,修改在创建代码化构建使用的YAML文件中的BUILD部分代码信息。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 version: 2.0 # 必须是2.0 steps: BUILD: - upload_artifact: inputs: path: "**/target/*.?ar" version: 2.1 name: packageName version: 2.0 # 必须是2.0 steps: BUILD: - upload_artifact: inputs: path: "**/target/*.?ar" version: 2.1 name: packageName 表2 代码示例参数说明 参数 类型 说明 path string 填写构建结果所在路径。 构建包路径支持正则匹配,“**”递归遍历当前目录,“*”匹配0或者多个字符,“?”匹配一个字符。 系统文件分隔符使用“/”,路径不区分大小写。 举例说明: *.class:当前目录下匹配“.class”结尾的文件。 **/*.class:当前目录下递归匹配所有的“.class”结尾的文件。 test/a??.java:匹配“test”目录下以“a”开头后跟两个字符的java文件。 **/test/**/XYZ*:递归匹配父目录为“test”文件是“XYZ”开头的所有文件,比如“abc/test/def/ghi/XYZ123”。 version string 可选参数。 填写发布版本号。 不填写(推荐):以构建编号命名上传到发布库的文件存储目录名。 填写:可能会覆盖同名存储目录下的文件。 name string 可选参数。 填写构建生成的包名。 不填写(推荐):以文件原始名命名上传到发布库的文件名。 填写:上传多个文件时,可能会存在被覆盖的情况。 图1 发布版本号及包名是否为空对上传的影响
  • CodeArts Build基本操作流程 图1 CodeArts Build基本操作流程 表1 CodeArts Build操作流程说明 流程 说明 开通CodeArts Build 为您介绍如何开通CodeArts Build和购买构建加速包以及并发包。 配置CodeArts Build项目级角色权限 为您介绍使用CodeArts Build前的项目级基础权限配置、访问CodeArts Build服务页面的方式以及CodeArts Build首页功能总览。 新建构建任务 为您介绍图形化新建构建任务和代码化新建构建任务的操作指导,以及如何配置构建任务的参数、执行计划、单任务角色权限和事件通知。 配置构建步骤 CodeArts Build内置了30+种构建工具,您可以根据实际使用情况选择使用的构建工具,每种工具分别为您介绍了图形化构建的配置指导和代码化构建的代码示例。 执行构建任务 构建任务可通过流水线触发或者定时任务触发执行,本节为您介绍在CodeArts Build服务页面执行单个构建任务。 针对C/C++语言构建任务的效率提升,可参考购买构建并发包和加速构建任务实现构建加速。 针对多构建任务的效率提升,可参考多任务YAML文件结构详解和购买构建并发包搭配实现构建加速。 查看构建任务 为您介绍如何查看构建任务信息以及构建任务的执行结果。
  • 代码化构建 参考以下代码示例,修改在创建代码化构建使用的YAML文件中的BUILD部分代码信息。 1 2 3 4 5 6 version: 2.0 # 必须是2.0 steps: BUILD: - ant: inputs: command: ant -f build.xml 表2 代码示例参数说明 参数名称 参数类型 参数说明 command string 配置Ant构建命令。更多命令使用方法可参考Ant官网。
  • 图形化构建 在配置构建步骤中,添加“Ant构建”构建步骤,参考表1配置参数。 表1 Ant构建参数说明 参数 说明 步骤显示名称 构建步骤的名称,可自定义修改。 支持中文、英文、数字、“-”、“_”、英文逗号、英文分号、英文冒号、“.”、“/”、圆括号(中英文)。 字符长度范围为1~128。 工具版本 根据用户实际开发环境的需要,选择对应的工具版本。 CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境。 命令 配置Ant构建命令,一般使用系统默认给出的命令即可。如有特殊构建要求,可以在文本域中输入自定义的构建脚本。更多命令使用方法可参考Ant官网。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建自定义执行机资源池 为本实践新建所需的自定义执行机资源池。 新建CodeArts Repo代码仓 为本实践新建存储代码的代码仓。 新建并执行编译构建任务 为本实践新建构建任务,包括“Maven构建”和“上传软件包到软件发布库”构建步骤。 查看构建任务和构建结果 为您介绍通过查看构建日志确认该实践的构建任务使用的执行机和在制品仓中查看上传的软件包。
  • 应用场景 当编译构建服务提供的内置执行机构建环境不满足业务要求时,您可接入自行提供的计算资源,通过注册的方式托管到编译构建服务中,委托编译构建服务进行调度并执行构建任务。本实践我们通过“Maven构建”和“上传软件包到软件发布库”两个构建步骤来演示使用自定义执行机的构建场景。 本实践需要依赖使用的其他服务如下: 代码托管服务 ,用于存储实践中项目所使用的代码。 制品仓库服务,用于存储实践中使用的私有依赖包。
  • 代码化构建 参考以下代码样例,在创建代码化构建使用的YAML文件中的PRE_BUILD部分代码信息。 1 2 3 4 5 6 version: 2.0 # 必须是2.0 steps: PRE_BUILD: - sh: inputs: command: echo ${a} 表2 代码示例参数说明 参数 类型 说明 command string 请根据需要填写执行构建的shell命令。更多命令使用方法可参考shell官网。
  • 图形化构建 在配置构建步骤中,添加“执行shell命令”构建步骤,参考表1配置参数。 表1 执行shell命令参数说明 参数 说明 步骤显示名称 构建步骤的名称,可自定义修改。 支持中文、英文、数字、“-”、“_”、英文逗号、英文分号、英文冒号、“.”、“/”、圆括号(中英文)。 字符长度范围为1~128。 工具版本 根据用户实际开发环境的需要,选择对应的工具版本。 CodeArts Build支持的工具版本,可查看构建工具版本。若当前的工具版本不满足您的使用要求,您可以自定义构建环境。 命令 请根据需要填写执行构建的shell命令。更多命令使用方法可参考shell官网。
  • 新建构建任务并执行 在编译构建服务页面,单击“新建任务”,按照如下参数说明配置参数,其他参数保持默认即可。 名称:自定义构建任务名称,例如“custom_env_build_task”。 代码源:选择本次构建拉取的代码源,这里选择“Repo”。 代码仓:选择新建CodeArts Repo代码仓中新建的代码仓“custom_env_repo”。 单击“下一步”,选择“空白构建模板”。然后单击“确定”,自动跳转到构建步骤配置页面。 在“构建步骤”页签,单击“图形化”,单击“点击添加构建步骤”。 在右侧区域“容器类”页签中,单击“使用SWR公共镜像”所在行的“添加”,按照图4配置参数。其中“镜像地址”填写10中保存的完整镜像名称“swr.{regionID}.myhuaweicloud.com/hwstaff_codeci_gray/custom_ubuntu_image:v1.0”,将如下代码示例拷贝至“命令”中,其余参数保持默认即可。 java -version # 打印当前镜像里安装的jdk版本号 mvn -v # 打印当前镜像里安装的maven版本号 mvn package -Dmaven.test.skip=true -U -e -X -B # 执行maven构建命令 图8 配置使用SWR公共镜像 单击“添加步骤”,添加“上传软件包至软件发布库”构建步骤,“构建包路径”输入“**/target/*.?ar”,其他参数保持默认即可。 单击页面右上角“保存并执行”,在弹出的窗口中单击“确定”,跳转到构建任务执行页面。