构建集群
云原生构建通过将任务下发到指定 Docker 镜像的构建集群执行,用户可在流水线配置中通过`pipeline.runner.tags`指定不同集群,并通过`pipeline.runner.cpus`配置最大 CPU 核数,如`cnb:arch:amd64`支持 1 - 64 核,默认 8 核等不同配置选项 。
构建集群
当您在使用云原生构建时,本质上是将构建任务下发到各构建集群中执行。集群以指定的 Docker 镜像作为构建环境执行构建任务。
配置方式
在流水线配置里指定 pipeline.runner.tags 属性,即可选择不同构建集群。指定 pipeline.runner.cpus 属性,即可配置需使用的最大 CPU 核数。
云原生构建会以实际分配的 核数 乘以 流水线的耗时,作为流水线使用的核时。
官方可用构建集群 tags 及可声明的 cpus 如下:
cnb:arch:amd64代表amd64架构的CPU集群cpus可配置范围为 1 ~ 64,默认为 8
cnb:arch:arm64:v8代表arm64/v8架构的CPU集群cpus可配置范围为 1 ~ 16,默认为 8
cnb:arch:amd64:gpu代表amd64架构的GPU集群cpus固定为 32GPU显存最大为 96GB,共享模式
cnb:arch:amd64:gpu:L20代表amd64架构的GPU集群cpus固定为 16GPU显存最大为 48GB,共享模式
示例:
main:
push:
# 指定在 amd64 架构构建集群上执行
- runner:
tags: cnb:arch:amd64
stages:
- name: uname
script: uname -a
# 指定在 arm64/v8 架构构建集群上执行
- runner:
tags: cnb:arch:arm64:v8
stages:
- name: uname
script: uname -a
# 启动一个能使用 gpu 的远程开发环境
$:
vscode:
- runner:
tags: cnb:arch:amd64:gpu
services:
- vscode
点评
请文明点评
加载评论中...
编辑此页 或
构建环境
构建环境由 Docker 容器提供,支持两种配置方式:指定已有镜像或使用 Dockerfile 动态构建。未指定时,默认使用 cnbcool/default-build-env:latest。镜像中的 VOLUME 可通过参数共享给插件任务,以 NodeJS 构建为例,可使用官方 NodeJS 镜像进行依赖安装和测试。
环境变量
在云原生构建过程中,可以通过多种方式声明、导入和管理环境变量,支持在 `Pipeline` 和 `Job` 级别的设置,以及对敏感信息进行加密处理。变量名必须符合 POSIX 标准,且变量值的长度不能超过 100KiB。在使用时,变量可以在脚本任务、配置文件和多个内置及插件任务中进行替换和引用。