ランタイム環境イメージの指定
[ランタイム環境イメージ] は、CodeCatalyst がワークフローアクションを実行する Docker コンテナです。Docker コンテナは、選択したコンピューティングプラットフォーム上で実行され、オペレーティングシステムと、ワークフローアクションに必要な AWS CLI、Node.js、.tar などの追加のツールが含まれています。
デフォルトでは、ワークフローアクションは CodeCatalyst によって提供および保守されている [アクティブなイメージ] のいずれかで実行されます。ビルドアクションとテストアクションのみがカスタムイメージをサポートします。詳細については、「カスタムランタイム環境の Docker イメージをアクションに割り当てる」を参照してください。
アクティブなイメージ
[アクティブなイメージ] は、CodeCatalyst によって完全にサポートされ、プリインストールされたツールを含むランタイム環境イメージです。現在、アクティブイメージには 2 つのセットがあります。1 つは 2024 年 3 月にリリースされ、もう 1 つは 2022 年 11 月にリリースされます。
アクションが 2024 年 3 月または 2022 年 11 月のイメージを使用するかどうかは、アクションによって異なります。
-
2024 年 3 月 26 日以降にワークフローに追加されるビルドアクションとテストアクションには、[2024 年 3 月のイメージ] を明示的に指定する
Container
セクションが YAML 定義に含まれます。オプションでContainer
セクションを削除して、[2022 年 11 月のイメージ] に戻せます。 -
2024 年 3 月 26 日より前にワークフローに追加されたビルドアクションとテストアクションには、YAML 定義に
Container
セクションが含まれないため、[2022 年 11 月のイメージ] が使用されます。2022 年 11 月のイメージを保持するか、アップグレードできます。イメージをアップグレードするには、ビジュアルエディタで アクションを開き、[設定] タブを選択し、[Runtime 環境の docker イメージ] ドロップダウンリストから 2024 年 3 月のイメージを選択します。この選択により、適切な 2024 年 3 月の画像が入力されているアクションの YAML 定義にContainer
セクションが追加されます。 -
他のすべてのアクションでは、[2022 年 11 月のイメージ] または [2024 年 3 月のイメージ] が使用されます。詳細については、アクションのドキュメントを参照してください。
2024 年 3 月のイメージ
2024 年 3 月のイメージは、CodeCatalyst が提供する最新のイメージです。2024 年 3 月には、コンピューティングタイプとフリートの組み合わせごとに 1 つのイメージがあります。
次の表は、2024 年 3 月の各イメージにインストールされたツールを示しています。
ツール | Linux x86_64 用 CodeCatalyst Amazon EC2 - CodeCatalystLinux_x86_64:2024_03 |
Linux x86_64 用 CodeCatalyst Lambda - CodeCatalystLinuxLambda_x86_64:2024_03 |
Linux Arm64 用 CodeCatalyst Amazon EC2 - CodeCatalystLinux_Arm64:2024_03 |
Linux Arm64 用 CodeCatalyst Lambda - CodeCatalystLinuxLambda_Arm64:2024_03 |
---|---|---|---|---|
AWS CLI | 2.15.17 | 2.15.17 | 2.15.17 | 2.15.17 |
AWS Copilot 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 月には、コンピューティングタイプとフリートの組み合わせごとに 1 つのイメージがあります。[プロビジョニングされたフリート] を設定している場合、ビルドアクションで 2022 年 11 月の Windows イメージも使用できます。
次の表は、2022 年 11 月の各イメージにインストールされたツールを示しています。
ツール | Linux x86_64 用 CodeCatalyst Amazon EC2 - CodeCatalystLinux_x86_64:2022_11 |
Linux x86_64 用 CodeCatalyst Lambda - CodeCatalystLinuxLambda_x86_64:2022_11 |
Linux Arm64 用 CodeCatalyst Amazon EC2 - CodeCatalystLinux_Arm64:2022_11 |
Linux Arm64 用 CodeCatalyst Lambda - CodeCatalystLinuxLambda_Arm64:2022_11 |
Windows x86_64 用 CodeCatalyst Amazon EC2 - CodeCatalystWindows_x86_64:2022_11 |
---|---|---|---|---|---|
AWS CLI | 2.15.17 | 2.15.17 | 2.15.17 | 2.15.17 | 2.13.19 |
AWS Copilot 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.2 | 22.2.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 を参照してください。
カスタムランタイム環境の Docker イメージをアクションに割り当てる
CodeCatalyst が提供する [アクティブイメージ] を使用しない場合は、カスタムランタイム環境の Docker イメージを指定できます。カスタムイメージを提供する場合は、そのイメージに Git がインストールされていることを確認してください。イメージは、Docker Hub、Amazon Elastic Container Registry、または任意のパブリックリポジトリに格納できます。
カスタム Docker イメージを作成する方法については、Docker ドキュメントの「アプリケーションのコンテナ化
カスタムランタイム環境の Docker イメージをアクションに割り当てるには、次の手順に従います。イメージを指定すると、CodeCatalyst はアクションの開始時にそのイメージをコンピューティングプラットフォームにデプロイします。
注記
カスタムランタイム環境の「AWS CloudFormationスタックのデプロイ」、「ECS へのデプロイ」、「GitHub アクション」といった Docker イメージはサポートされません。カスタムランタイム環境の Docker イメージは、[Lambda] コンピューティングタイプもサポートしていません。
例
次の例は、カスタムランタイム環境の Docker イメージをワークフロー定義ファイルのアクションに割り当てる方法を示しています。
トピック
例: Amazon ECR でカスタムランタイム環境 Docker イメージを使用して Node.js 18 のサポートを追加する
次の例は、カスタムランタイム環境 Docker イメージを使用して [Amazon ECR]
Configuration: Container: Registry: ECR Image: public.ecr.aws/amazonlinux/amazonlinux:2023
例: カスタムランタイム環境の Docker イメージを使用して、Docker Hub で Node.js 18 のサポートを追加する
次の例は、カスタムランタイム環境 Docker イメージを使用して [Docker Hub]
Configuration: Container: Registry: DockerHub Image: node:18.18.2