将 Code Engine 工作负载与 Continuous Delivery
您可以通过使用 Continuous Delivery创建工具链来自动构建和部署 IBM Cloud® Code Engine 工作负载。 您可以创建一个工具链,用于从存储库中提取源代码,然后构建和部署应用程序或作业。 每当更新存储库中的源代码时,工具链都会自动拉取更新后的代码,然后构建并重新部署应用程序或作业。
准备工作
在开始使用工具链之前,
-
创建或标识 Code Engine 项目。 您可以使用控制台或 CLI 来创建这些资源。 有关更多信息,请参阅 Code Engine 项目。
-
创建或标识 Continuous Delivery 服务的实例。
-
创建或标识 IBM Cloud Container Registry 名称空间。 有关创建名称空间的更多信息,请参阅 IBM Cloud Container Registry 服务。
配置工具链的访问权
如果要使用工具链来构建和部署应用程序或作业,请在 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 工具链设置以下选项。
选项 | 描述 |
---|---|
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:] ,那么有效值为 h2c 或 http1 。 缺省情况下,Code Engine 假定应用程序侦听端口 8080 上的入局连接。 |
app-visibility |
应用程序的可视性。 有效值为 public 、private 和 project 。 设置 public 的可视性意味着应用程序可以从公共因特网或 Code Engine 项目中的组件接收请求。 请参阅 Code Engine 应用程序的可视性选项。 |
branch |
存储库中包含 buildpack 文件或 Dockerfile 的分支。 默认值为 main 。 |
build-size |
构建的大小,用于确定使用的资源量。 有效值为 small ,medium ,large ,xlarge 和 xxlarge 。 有关详细信息,请参阅 确定构建大小。 |
build-strategy |
用于构建映像的策略。 有效值为 dockerfile 和 buildpacks 。 |
build-timeout |
在构建运行必须成功或失败之前可以经过的时间量 (以秒为单位)。 默认为 1200 秒。 |
build-use-native-docker |
要选择性加入的可选属性,用于使用本机 Docker 构建功能而不是 Code Engine 构建来容器化源。 仅当 build-strategy 设置为 dockerfile 时,才能选择此值。 有效值为 true 和 false 。 |
code-engine-project |
包含此应用程序的项目。 |
cpu |
为应用程序实例设置的 CPU 数量。 有关有效值,请参阅 支持的内存和 CPU 组合。 默认值为 1 。 |
deployment-type |
指定部署类型。 有效值为 application 和 job 。 |
ephemeral-storage |
要为应用程序实例设置的临时存储器量。 使用 M 表示兆字节或 G 表示千兆字节。 |
git-token |
Git 存储库的访问令牌。 |
image-name |
用于此应用程序的映像的名称。 格式为 REGISTRY/NAMESPACE/REPOSITORY:TAG ,其中 REGISTRY 和 TAG 为可选项。 如果未指定 REGISTRY ,则默认为 docker.io 。 如果未指定 TAG ,则默认为 latest 。 |
memory |
为应用程序实例设置的内存量。 用 M 表示兆字节,用 G 表示千兆字节。 有关有效值,请参阅 支持的内存和 CPU 组合。 默认值为 4G 。 |
path-to-context |
存储库中包含 buildpack 文件或 Dockerfile 的目录。 |
path-to-dockerfile |
Dockerfile 的路径。 仅当名称不是 Dockerfile 时才指定此选项。 |
pipeline-debug |
管道调试方式。 值可以是 0 或 1 。 缺省值为 0 。 |
region |
Code Engine 项目所在的区域。 |
registry-namespace |
用于存储已构建映像的容器注册表名称空间。 |
registry-region |
容器注册表区域。 |
resource-group |
包含 Code Engine 项目的资源组。 |
service-bindings |
将 IBM Cloud 服务实例绑定到应用程序的服务绑定。 该值的格式为 "{"<SERVICE_INSTANCE_NAME>": "<BINDING_PREFIX>"}" 。 例如,"{"object-store-rg-e": "CLOUD_OBJECT_STORAGE"} 。
此值必须在 base64中。 |
有关更多选项,请参阅工具链设置中管道的 环境属性。
对工具链问题进行故障诊断
使用以下主题对 Code Engine 工具链进行故障诊断。