本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
指定运行时环境映像
运行时环境镜像是一个 Docker 容器,在其中 CodeCatalyst运行工作流程操作。Docker 容器在您选择的计算平台上运行,包括操作系统和工作流程操作可能需要的额外工具,例如 AWS CLI、Node.js 和.tar。
默认情况下,工作流程操作将在由提供和维护的其中一个活动图像上运行 CodeCatalyst。只有生成和测试操作支持自定义镜像。有关更多信息,请参阅 为操作分配自定义运行时环境 Docker 镜像。
活跃图片
活动镜像是运行时环境镜像,完全支持 CodeCatalyst 并包含预安装的工具。目前有两组活跃图片:一组于2024年3月发布,另一组于2022年11月发布。
一个动作是使用 2024 年 3 月还是 2022 年 11 月的图片取决于动作:
-
在 2024 年 3 月 26 日当天或之后添加到工作流程中的构建和测试操作将在其YAML定义中包含明确指定 2024 年 3 月图像的
Container
部分。您可以选择删除该Container
部分以恢复到 2022 年 11 月的图片。 -
在 2024 年 3 月 26 日之前添加到工作流程中的构建和测试操作的YAML定义中将不包含任何
Container
部分,因此将使用 2022 年 11 月的图像。您可以保留 2022 年 11 月的映像,也可以对其进行升级。要升级映像,请在可视化编辑器中打开操作,选择 “配置” 选项卡,然后从 “运行时环境 docker 镜像” 下拉列表中选择 2024 年 3 月的镜像。此选项将在动作YAML定义中添加一个Container
部分,该部分将填充相应的 2024 年 3 月图像。 -
所有其他操作将使用 2022 年 11 月的图像或 202 4 年 3 月的图像。有关更多信息,请参阅操作的文档。
2024 年 3 月的图片
2024 年 3 月的图片是提供的最新图片。 CodeCatalyst每种计算类型/舰队组合都有一个 2024 年 3 月的映像。
下表显示了 2024 年 3 月的每张映像上安装的工具。
工具 | CodeCatalyst EC2适用于 Linux 的亚马逊 x86_64-CodeCatalystLinux_x86_64:2024_03 |
CodeCatalyst 适用于 Linux 的 Lambda x86_64-CodeCatalystLinuxLambda_x86_64:2024_03 |
CodeCatalyst EC2适用于 Linux 的亚马逊 Arm64-CodeCatalystLinux_Arm64:2024_03 |
CodeCatalyst 适用于 Linux 的 Lambda Arm64-CodeCatalystLinuxLambda_Arm64:2024_03 |
---|---|---|---|---|
AWS CLI | 2.15.17 | 2.15.17 | 2.15.17 | 2.15.17 |
AWS 副驾驶 CLI | 1.32.1 | 1.32.1 | 1.32.1 | 1.32.1 |
Docker | 24.0.9 | 不适用 | 24.0.9 | 不适用 |
Docker Compose | 2.23.3 | 不适用 | 2.23.3 | 不适用 |
Git | 2.43.0 | 2.43.0 | 2.43.0 | 2.43.0 |
Go | 1.21.5 | 1.21.5 | 1.21.5 | 1.21.5 |
Gradle | 8.5 | 8.5 | 8.5 | 8.5 |
Java | Corretto17 | Corretto17 | Corretto17 | Corretto17 |
Maven | 3.9.6 | 3.9.6 | 3.9.6 | 3.9.6 |
Node.js | 18.19.0 | 18.19.0 | 18.19.0 | 18.19.0 |
npm | 10.2.3 | 10.2.3 | 10.2.3 | 10.2.3 |
Python | 3.9.18 | 3.9.18 | 3.9.18 | 3.9.18 |
Python3 | 3.11.6 | 3.11.6 | 3.11.6 | 3.11.6 |
pip | 22.3.1 | 22.3.1 | 22.3.1 | 22.3.1 |
.NET | 8.0.100 | 8.0.100 | 8.0.100 | 8.0.100 |
2022 年 11 月的图片
每种计算类型/舰队组合都有一个 2022 年 11 月的映像。如果您配置了预配置的队列,则还有 2022 年 11 月的 Windows 映像可用于构建操作。
下表显示了 2022 年 11 月的每张映像上安装的工具。
工具 | CodeCatalyst EC2适用于 Linux 的亚马逊 x86_64-CodeCatalystLinux_x86_64:2022_11 |
CodeCatalyst 适用于 Linux 的 Lambda x86_64-CodeCatalystLinuxLambda_x86_64:2022_11 |
CodeCatalyst EC2适用于 Linux 的亚马逊 Arm64-CodeCatalystLinux_Arm64:2022_11 |
CodeCatalyst 适用于 Linux 的 Lambda Arm64-CodeCatalystLinuxLambda_Arm64:2022_11 |
CodeCatalyst EC2适用于 Windows 的亚马逊 x86_64-CodeCatalystWindows_x86_64:2022_11 |
---|---|---|---|---|---|
AWS CLI | 2.15.17 | 2.15.17 | 2.15.17 | 2.15.17 | 2.13.19 |
AWS 副驾驶 CLI | 0.6.0 | 0.6.0 | 不适用 | 不适用 | 1.30.1 |
Docker | 23.01 | 不适用 | 23.0.1 | 不适用 | 不适用 |
Docker Compose | 2.16.0 | 不适用 | 2.16.0 | 不适用 | 不适用 |
Git | 2.40.0 | 2.40.0 | 2.39.2 | 2.39.2 | 2.42.0 |
Go | 1.20.2 | 1.20.2 | 1.20.1 | 1.20.1 | 1.19 |
Gradle | 8.0.2 | 8.0.2 | 8.0.1 | 8.0.1 | 8.3 |
Java | Corretto17 | Corretto17 | Corretto17 | Corretto17 | Corretto17 |
Maven | 3.9.4 | 3.9.4 | 3.9.0 | 3.9.0 | 3.9.4 |
Node.js | 16.20.2 | 16.20.2 | 16.19.1 | 16.14.2 | 16.20.0 |
npm | 8.19.4 | 8.19.4 | 8.19.3 | 8.5.0 | 8.19.4 |
Python | 3.9.15 | 2.7.18 | 3.11.2 | 2.7.18 | 3.9.13 |
Python3 | 不适用 | 3.9.15 | 不适用 | 3.11.2 | 不适用 |
pip | 22.2 | 22.2 | 23.0.1 | 23.0.1 | 22.0.4 |
.NET | 6.0.407 | 6.0.407 | 6.0.406 | 6.0.406 | 6.0.414 |
如果现用图像不包含我需要的工具怎么办?
如果提供的活动图像均不 CodeCatalyst 包含您需要的工具,则有以下几种选择:
-
您可以提供包含必要工具的自定义运行时环境 Docker 镜像。有关更多信息,请参阅 为操作分配自定义运行时环境 Docker 镜像。
注意
如果要提供自定义运行时环境 Docker 镜像,请确保您的自定义镜像中安装了 Git。
-
您可以让工作流程的生成或测试操作安装所需的工具。
例如,您可以在生成或测试操作的YAML代码
Steps
部分中包含以下说明:Configuration: Steps: - Run: ./
setup-script
这些区域有:
setup-script
然后,指令将运行以下脚本来安装 Node 包管理器 (npm):#!/usr/bin/env bash echo "Setting up environment" touch ~/.bashrc curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash source ~/.bashrc nvm install v16.1.0 source ~/.bashrc
有关生成操作的更多信息YAML,请参阅生成和测试操作 YAML。
为操作分配自定义运行时环境 Docker 镜像
如果您不想使用提供的 A ctive 镜像 CodeCatalyst,则可以提供自定义运行时环境 Docker 镜像。如果要提供自定义镜像,请确保其中安装了 Git。镜像可以存放在 Docker Hub、Amazon 弹性容器注册表或任何公共存储库中。
要了解如何创建自定义 Docker 镜像,请参阅 Docker 文档中的容器化应用程序
按照以下说明将您的自定义运行时环境 Docker 镜像分配给操作。指定映像后,在操作开始时将其 CodeCatalyst 部署到您的计算平台。
注意
以下操作不支持自定义运行时环境 Docker 镜像:部署 AWS CloudFormation 堆栈、部署到ECS和GitHub 操作。自定义运行时环境 Docker 镜像也不支持 Lambda 计算类型。
示例
以下示例说明如何将自定义运行时环境 Docker 镜像分配给工作流程定义文件中的操作。
主题
示例:使用自定义运行时环境 Docker 镜像在亚马逊上添加对 Node.js 18 的支持 ECR
以下示例展示了如何使用自定义运行时环境 Docker 镜像在亚马逊ECR
Configuration: Container: Registry: ECR Image: public.ecr.aws/amazonlinux/amazonlinux:2023
示例:使用自定义运行时环境 Docker 镜像通过 Docker Hub 添加对 Node.js 18 的支持
以下示例展示了如何使用自定义运行时环境 Docker 镜像通过 Docker Hub 添加对 Node.js 18 的支持。
Configuration: Container: Registry: DockerHub Image: node:18.18.2