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

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

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

ランタイム環境イメージは、 がワークフローアクションを実行する 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 月のイメージツール
ツール Linux x86_64 用 CodeCatalyst Amazon EC2 - CodeCatalystLinux_x86_64:2024_03 CodeCatalyst Linux x86_64 用 Lambda - CodeCatalystLinuxLambda_x86_64:2024_03 Linux Arm64 用 CodeCatalyst Amazon EC2 - 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 月のイメージツール
ツール Linux x86_64 用 CodeCatalyst Amazon EC2 - CodeCatalystLinux_x86_64:2022_11 CodeCatalyst Linux x86_64 用 Lambda - CodeCatalystLinuxLambda_x86_64:2022_11 Linux Arm64 用 CodeCatalyst Amazon EC2 - CodeCatalystLinux_Arm64:2022_11 CodeCatalyst Linux Arm64 用 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 コパイロット 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 ユーザーガイド」の「カスタム信頼ポリシーを使用したロールの作成 (コンソール)」を参照してください。

      ロールを作成したら、 環境を介して アクションに割り当てる必要があります。詳細については、「環境、アカウント接続、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セクションと基盤となる Registryプロパティと Imageプロパティを追加します。詳細については、「」のContainerアクション「」、RegistryおよびアクションのImageプロパティの説明を参照してください。

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

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

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

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

次の例は、カスタムランタイム環境の 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