更新时间:2024-10-14 GMT+08:00
分享

配置构建环境

配置构建任务全局运行环境。

编译构建服务支持使用自定义执行机,支持的自定义执行机类型有LINUX、LINUX_DOCKER、WINDOWS和MAC,各个类型支持的构建场景可参考表1,用户可根据实际需求选择使用的执行机类型。

表1 各个类型执行机的使用说明

执行机类型

使用说明

LINUX

LINUX_DOCKER

  • 执行构建任务时,编译构建服务将拉起一个Linux Docker容器,构建任务在容器中执行。
  • 整个构建过程在容器中运行,运行后容器会自动清理构建镜像,包括构建过程中拉取的代码、过程数据、构建产物等。
  • 支持用户宿主机目录与容器目录映射,即可在镜像内共享宿主机目录。
  • 除MSBuild构建步骤外,支持所有构建步骤,无需自行安装构建环境。

WINDOWS

  • 执行构建任务时,构建任务在Windows执行机上执行,支持用户执行Windows相关的构建任务。
  • 通过Git Bash工具执行Shell脚本实现构建。
  • 构建步骤仅支持执行shell命令上传软件包到软件发布库下载发布仓库包
  • 支持Windows7、Windows10、Windows Server2012和Windows Server2016。
  • 自定义Windows执行机前,需已安装JDK和Git。
  • 编译工具需自行安装。例如:使用Maven构建,则需要安装Maven工具。

MAC

图形化构建

CodeArts Build预置了“构建环境配置”步骤,参考表2配置参数。

表2 构建环境配置参数说明

参数

说明

构建环境主机类型

X86服务器、鲲鹏(ARM)服务器。

说明:

在不同芯片架构上运行的软件,需要选择对应的环境主机。如软件最终在鲲鹏服务器上运行,则选择鲲鹏服务器。

执行主机

选择用来执行编译构建任务的计算资源。在编译构建服务中,该计算资源为虚拟机。执行主机包括内置执行机和自定义执行机。

  • 内置执行机:编译构建服务自身提供的执行主机,用户无需配置即可开箱即用。执行机默认规格为2U8G。
  • 自定义执行机:用户自行提供表1的计算资源,通过注册的方式托管到编译构建服务中,通过编译构建服务进行调度并执行构建任务。

可根据实际情况选择内置执行机或自定义执行机,自定义执行机为在资源池中添加的代理执行机,具体自定义操作可参考资源池管理

宿主机目录与容器目录映射

配置自定义执行机的目录和容器的目录映射,配置映射后,可将自定义执行机中的依赖项等文件挂载到容器中执行构建。当执行主机选择自定义执行时需要配置。

例如:宿主机目录填写“/home”,容器目录填写“/opt”,就会把执行机本地“/home”目录下的内容,挂载到容器内的“/opt”目录下。

代码化构建

参考以下构建环境配置代码示例,修改在创建代码化构建使用的YAML文件中的env部分代码信息。

1
2
3
4
5
6
7
version: 2.0 # 必须是2.0,该版本号必填且唯一
env: # 定义构建环境信息。非必填,如果不填写,默认使用X86
  resource:
    type:docker # 资源池类型:docker或custom,其中docker表示使用默认执行机,custom表示使用自定义执行机
    arch:X86 # 构建环境主机类型:X86或ARM
    class:8U16G # 规格:2U8G、4U8G、8U16G、16U32G或16U64G,当type为custom时无需填写该参数
    pool:Mydocker #资源池名称,当type为custom时需要填写该参数

参考以下BuildSpace代码示例,在创建代码化构建使用的YAML文件中添加以下代码信息。

可使用的环境为自定义执行机、构建并发包和构建加速包L3。

version: 2.0
buildspace: #表示使用BuildSpace
  fixed: true
  path: kk  
  clean: true
  clean_exclude:
    - cache #排除的具体路径
    - aa #排除的具体路径
    - bb #排除的具体路径
表3 BuildSpace代码示例参数说明

参数

类型

说明

fixed

string

可选参数。

在编译构建服务中,默认每一次构建都会使用一个空白的且随机的目录(比如/devcloud/ws/sMMM/workspace/j_X/)作为此次构建的根目录,这个根目录所代表的空间称为BuildSpace。 BuildSpace的路径默认是随机的,即使是同一个项目的不同构建任务的BuildSpace也会被随机分配。

但是在某些场景下固定一个BuildSpace的路径是有必要的,因此编译构建服务支持配置BuildSpace,以固定构建执行目录。

  • true:使用固定路径。
  • false:不使用固定路径。

默认值:false。

path

string

可选参数。

当使用固定路径时,路径为:/opt/cloud/slavespace/usr1/+"${domainId}"+/。配置path参数,表示在前面的固定路径基础上拼接路径。

例如:“path”配置路径为“kk”,那么固定路径为:/opt/cloud/slavespace/usr1/+"${domainId}"+/kk。

clean

string

可选参数。

  • true:需要清理固定路径。即路径是固定的,但是每次执行完会清理路径下的文件。
  • false:不清理固定路径。但是工作空间可存储的容量是有限的,当文件容量达到工作空间上限后,需要手动清理工作空间(clean配置为true即可)。
    说明:
    • 如果未配置清理固定路径,当文件容量达到工作空间上限后,会自动清理当前租户下的固定路径中所有文件。
    • 工作空间指的是用户自定义的执行机的规格。

默认值:true。

clean_exclude

string

可选参数。配置后表示使用路径清理,但是排除配置的路径。仅支持指定固定路径下的一级文件夹。

相关文档