IBM Cloud Docs
将 Code Engine 工作负载与 Continuous Delivery

将 Code Engine 工作负载与 Continuous Delivery

您可以通过使用 Continuous Delivery创建工具链来自动构建和部署 IBM Cloud® Code Engine 工作负载。 您可以创建一个工具链,用于从存储库中提取源代码,然后构建和部署应用程序或作业。 每当更新存储库中的源代码时,工具链都会自动拉取更新后的代码,然后构建并重新部署应用程序或作业。

准备工作

在开始使用工具链之前,

配置工具链的访问权

如果要使用工具链来构建和部署应用程序或作业,请在 IAM 中设置以下许可权。

IBM Cloud Container Registry

  • 阅读器: 从容器注册表中拉取映像。
  • 写程序: 将创建的映像推送到目标名称空间。
  • Manager: 用于创建指定的名称空间 (如果它不存在)。
  • 管理员: 要创建要用于应用程序或作业的 Code Engine 注册表私钥所需的服务标识,策略和 API 密钥。

Code Engine

  • 编辑器: 访问 Code Engine 项目或创建一个项目 (如果不存在)。
  • 写程序: 用于管理 Code Engine 项目中的应用程序,作业和私钥。

资源组:

  • 查看者: 查看 Code Engine 项目所在的资源组。

如果要与应用程序绑定另一个 IBM Cloud 服务,那么必须设置以下其他许可权。

所有启用“身份和访问权”的服务

  • 管理员: 创建服务标识,策略和 API 密钥以设置 Code Engine 服务访问私钥,该私钥用于维护服务凭证以将各个服务连接到 Code Engine 应用程序或作业。

创建工具链

通过选择 创建工具链,然后选择 Code Engine 模板,可以从“工具链”页面创建工具链。 要尝试教程吗? 请参阅 使用 Code Engine 开发和部署应用程序。

工具链中的 Code Engine 选项

您可以通过编辑 ci-pipeline Configuration 并选择 环境属性,为 Code Engine 工具链设置以下选项。

工具链中的Code Engine选项
选项 描述
apikey 用于此工具链的 IBM Cloud API 密钥。
app-concurrency 每个实例可并行处理的最大请求数量。 默认值为 100
app-deployment-timeout 在构建必须成功或失败之前可以经过的时间量 (以秒为单位)。
app-health-endpoint 应用程序运行状况端点; 例如,/health
app-max-scale 可用于此应用程序的最大实例数。 如果将此值设为 0,应用程序将根据需要进行缩放。 应用程序缩放仅受应用程序的项目的每个资源配额的实例限制。 请参阅 Code Engine的限制和配额。 缺省值为 10
app-min-scale 可用于此应用程序的最小实例数。 此选项对于确保不需要任何实例时都未在运行非常有用。 此值是可选的。 默认值为 0
app-name 应用程序的名称。 请使用项目中唯一的名称。
app-port 应用程序侦听输入连接的端口。 格式为 [NAME:]PORT,其中 [NAME:] 是可选的。 如果指定了 [NAME:],那么有效值为 h2chttp1。 缺省情况下,Code Engine 假定应用程序侦听端口 8080 上的入局连接。
app-visibility 应用程序的可视性。 有效值为 publicprivateproject。 设置 public 的可视性意味着应用程序可以从公共因特网或 Code Engine 项目中的组件接收请求。 请参阅 Code Engine 应用程序的可视性选项
branch 存储库中包含 buildpack 文件或 Dockerfile 的分支。 默认值为 main
build-size 构建的大小,用于确定使用的资源量。 有效值为 smallmediumlargexlargexxlarge。 有关详细信息,请参阅 确定构建大小
build-strategy 用于构建映像的策略。 有效值为 dockerfilebuildpacks
build-timeout 在构建运行必须成功或失败之前可以经过的时间量 (以秒为单位)。 默认为 1200 秒。
build-use-native-docker 要选择性加入的可选属性,用于使用本机 Docker 构建功能而不是 Code Engine 构建来容器化源。 仅当 build-strategy 设置为 dockerfile 时,才能选择此值。 有效值为 truefalse
code-engine-project 包含此应用程序的项目。
cpu 为应用程序实例设置的 CPU 数量。 有关有效值,请参阅 支持的内存和 CPU 组合。 默认值为 1
deployment-type 指定部署类型。 有效值为 applicationjob
ephemeral-storage 要为应用程序实例设置的临时存储器量。 使用 M 表示兆字节或 G 表示千兆字节。
git-token Git 存储库的访问令牌。
image-name 用于此应用程序的映像的名称。 格式为 REGISTRY/NAMESPACE/REPOSITORY:TAG,其中 REGISTRYTAG 为可选项。 如果未指定 REGISTRY,则默认为 docker.io。 如果未指定 TAG,则默认为 latest
memory 为应用程序实例设置的内存量。 用 M 表示兆字节,用 G 表示千兆字节。 有关有效值,请参阅 支持的内存和 CPU 组合。 默认值为 4G
path-to-context 存储库中包含 buildpack 文件或 Dockerfile 的目录。
path-to-dockerfile Dockerfile 的路径。 仅当名称不是 Dockerfile 时才指定此选项。
pipeline-debug 管道调试方式。 值可以是 01。 缺省值为 0
region Code Engine 项目所在的区域。
registry-namespace 用于存储已构建映像的容器注册表名称空间。
registry-region 容器注册表区域。
resource-group 包含 Code Engine 项目的资源组。
service-bindings 将 IBM Cloud 服务实例绑定到应用程序的服务绑定。 该值的格式为 "{&quot;<SERVICE_INSTANCE_NAME>&quot;: &quot;<BINDING_PREFIX>&quot;}"。 例如,"{&quot;object-store-rg-e&quot;: &quot;CLOUD_OBJECT_STORAGE&quot;}。 此值必须在 base64中。

有关更多选项,请参阅工具链设置中管道的 环境属性

对工具链问题进行故障诊断

使用以下主题对 Code Engine 工具链进行故障诊断。