ランタイム環境イメージの指定 - Amazon CodeCatalyst

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ランタイム環境イメージの指定

ランタイム環境イメージは、 がワークフローアクションを実行する CodeCatalyst Docker コンテナです。Docker コンテナは、選択したコンピューティングプラットフォーム上で実行され、オペレーティングシステムと、、Node.js AWS CLI、.tar などのワークフローアクションに必要な追加ツールが含まれています。

デフォルトでは、ワークフローアクションは、 によって提供および保守されているアクティブなイメージの 1 つで実行されます 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 月のイメージを保持することも、アップグレードすることもできます。イメージをアップグレードするには、ビジュアルエディタで アクションを開き、設定タブを選択し、ランタイム環境の docker イメージドロップダウンリストから 2024 年 3 月イメージを選択します。この選択により、適切な 2024 年 3 月の画像が入力されているアクションYAMLの定義にContainerセクションが追加されます。

  • 他のすべてのアクションでは、2022 年 11 月イメージ または 2024 年 3 月イメージ が使用されます。詳細については、アクションのドキュメントを参照してください。

2024 年 3 月の画像

2024 年 3 月のイメージは、 が提供する最新のイメージです CodeCatalyst。2024 年 3 月のイメージは、コンピューティングタイプとフリートの組み合わせごとに 1 つあります。

次の表は、2024 年 3 月の各イメージにインストールされたツールを示しています。

2024 年 3 月のイメージツール
ツール CodeCatalyst Amazon EC2 for Linux x86_64 - CodeCatalystLinux_x86_64:2024_03 CodeCatalyst Linux x86_64 用 Lambda - CodeCatalystLinuxLambda_x86_64:2024_03 CodeCatalyst Amazon EC2 for Linux Arm64 - CodeCatalystLinux_Arm64:2024_03 CodeCatalyst Linux Arm64 用 Lambda - 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 月のイメージは、コンピューティングタイプとフリートの組み合わせごとに 1 つあります。プロビジョニングされたフリート を設定している場合、ビルドアクションで 2022 年 11 月の Windows イメージも使用できます。

次の表は、2022 年 11 月の各イメージにインストールされているツールを示しています。

2022 年 11 月のイメージツール
ツール CodeCatalyst Amazon EC2 for Linux x86_64 - CodeCatalystLinux_x86_64:2022_11 CodeCatalyst Linux x86_64 用 Lambda - CodeCatalystLinuxLambda_x86_64:2022_11 CodeCatalyst Amazon EC2 for Linux Arm64 - CodeCatalystLinux_Arm64:2022_11 CodeCatalyst Linux Arm64 用 Lambda - CodeCatalystLinuxLambda_Arm64:2022_11 CodeCatalyst Amazon EC2 for 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.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「」を参照してくださいビルドアクションとテストアクション YAML

カスタムランタイム環境の Docker イメージを アクションに割り当てる

が提供するアクティブイメージを使用しない場合は CodeCatalyst、カスタムランタイム環境の Docker イメージを指定できます。カスタムイメージを提供する場合は、そのイメージに Git がインストールされていることを確認します。イメージは、Docker Hub、Amazon Elastic Container Registry、または任意のパブリックリポジトリに格納できます。

カスタム Docker イメージを作成する方法については、Docker ドキュメントの「アプリケーションをコンテナ化する」を参照してください。

カスタムランタイム環境の Docker イメージを アクションに割り当てるには、以下の手順に従います。イメージを指定すると、 はアクションの開始時にそのイメージをコンピューティングプラットフォームに CodeCatalyst デプロイします。

注記

次のアクションは、カスタムランタイム環境 Docker イメージをサポートしていません: AWS CloudFormation スタックのデプロイ へのデプロイ ECS、およびGitHub アクション 。カスタムランタイム環境 Docker イメージも Lambda コンピューティングタイプをサポートしていません。

Visual
ビジュアルエディタを使用してカスタムランタイム環境の Docker イメージを割り当てるには
  1. https://codecatalyst.aws/ で CodeCatalyst コンソールを開きます。

  2. ナビゲーションペインで CI/CD を選択し、ワークフロー を選択します。

  3. ワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

  4. [編集] を選択します。

  5. ビジュアル を選択します。

  6. ワークフロー図で、カスタムランタイム環境の Docker イメージを使用するアクションを選択します。

  7. [設定] タブを選択します。

  8. 下部の次のフィールドに入力します。

    ランタイム環境の 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 イメージ URLDocker 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

    • カスタムレジストリを使用している場合は、イメージをカスタムレジストリで期待される値に設定します。

  9. (オプション) 検証 を選択して、コミットする前にワークフローのYAMLコードを検証します。

  10. コミット を選択し、コミットメッセージを入力し、もう一度コミット を選択します。

YAML
YAML エディタを使用してカスタムランタイム環境の Docker イメージを割り当てるには
  1. ナビゲーションペインで CI/CD を選択し、ワークフロー を選択します。

  2. ワークフローの名前を選択します。ワークフローが定義されているソースリポジトリまたはブランチ名でフィルタリングすることも、ワークフロー名またはステータスでフィルタリングすることもできます。

  3. [編集] を選択します。

  4. を選択しますYAML

  5. ランタイム環境 Docker イメージを割り当てるアクションを見つけます。

  6. アクションで、 Containerセクションと基盤となる プロパティRegistryImageプロパティを追加します。詳細については、「」のContainerアクション「」、RegistryおよびアクションのImageプロパティの説明を参照してください。

  7. (オプション) 検証 を選択して、コミットする前にワークフローのYAMLコードを検証します。

  8. コミット を選択し、コミットメッセージを入力し、もう一度コミット を選択します。

次の例は、カスタムランタイム環境の Docker イメージをワークフロー定義ファイルの アクションに割り当てる方法を示しています。

例: カスタムランタイム環境の Docker イメージを使用して Amazon で Node.js 18 のサポートを追加する ECR

次の例は、カスタムランタイム環境の Docker イメージを使用して、Amazon ECRで Node.js 18 のサポートを追加する方法を示しています。

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