翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
[ランタイム環境イメージ] は、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 イメージを割り当てるには
https://codecatalyst.aws/
で CodeCatalyst コンソールを開きます。 ナビゲーションペインで [CI/CD]、[ワークフロー] の順に選択します。
-
ワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。
-
[編集] を選択します。
-
[ビジュアル] を選択します。
-
ワークフロー図で、カスタムランタイム環境の Docker イメージを使用するアクションを選択します。
-
[設定] タブを選択します。
-
下部の近くで、次のフィールドに入力します。
ランタイム環境 Docker イメージ - オプション
イメージが保存されているレジストリを指定します。有効な値を次に示します。
-
CODECATALYST
(YAML エディタ)イメージは CodeCatalyst レジストリに保存されます。
-
[Docker Hub] (ビジュアルエディタ) または [
DockerHub
] (YAML エディタ)イメージは Docker Hub イメージレジストリに保存されます。
-
[その他のレジストリ] (ビジュアルエディタ)) または
Other
(YAML エディタ)イメージはカスタムイメージレジストリに保存されます。公開されているレジストリを使用できます。
-
[Amazon Elastic Container Registry] (ビジュアルエディタ) または [
ECR
] (YAML エディタ)イメージは Amazon Elastic Container Registry イメージリポジトリに保存されます。Amazon ECR リポジトリでイメージを使用するには、このアクションで Amazon ECR にアクセスする必要があります。このアクセスを有効にするには、次のアクセス許可とカスタム信頼ポリシーを含む [IAM ロール] を作成する必要があります。(既存のロールを変更して、必要に応じてアクセス許可とポリシーを含めることができます。)
IAM ロールのロールポリシーには、次のアクセス許可を含める必要があります。
-
ecr:BatchCheckLayerAvailability
-
ecr:BatchGetImage
-
ecr:GetAuthorizationToken
-
ecr:GetDownloadUrlForLayer
IAM ロールには、次のカスタム信頼ポリシーを含める必要があります。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
IAM ロールの作成に関する詳細については、「IAM ユーザーガイド」の「ロールの作成とポリシーのアタッチ (コンソール)」を参照してください。
ロールを作成したら、 環境を介してアクションに割り当てる必要があります。詳細については、「環境とアクションの関連付け」を参照してください。
-
[ECR イメージ URL]、[Docker Hub イメージ]、または [イメージ URL]
次のいずれかを指定します。
-
CODECATALYST
レジストリを使用している場合は、イメージを次のいずれかの [アクティブなイメージ] に設定します。-
CodeCatalystLinux_x86_64:2024_03
-
CodeCatalystLinux_x86_64:2022_11
-
CodeCatalystLinux_Arm64:2024_03
-
CodeCatalystLinux_Arm64:2022_11
-
CodeCatalystLinuxLambda_x86_64:2024_03
-
CodeCatalystLinuxLambda_x86_64:2022_11
-
CodeCatalystLinuxLambda_Arm64:2024_03
-
CodeCatalystLinuxLambda_Arm64:2022_11
-
CodeCatalystWindows_x86_64:2022_11
-
-
Docker Hub レジストリを使用している場合は、イメージを Docker Hub イメージ名とオプションのタグに設定します。
例:
postgres:latest
-
Amazon ECR レジストリを使用している場合は、イメージを Amazon ECR レジストリ URI に設定します。
例:
111122223333.dkr.ecr.us-west-2.amazonaws.com/codecatalyst-ecs-image-repo
-
カスタムレジストリを使用している場合は、イメージをカスタムレジストリで期待される値に設定します。
-
-
(オプション) [検証] を選択して、コミットする前にワークフローの YAML コードを検証します。
-
[コミット] を選択し、コミットメッセージを入力し、再度 [コミット] を選択します。
例
次の例は、カスタムランタイム環境の 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