翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
このセクションは参照のみを目的としています。コンテナのソースまたはデプロイアクションを使用してパイプラインを作成する方法については、「パイプライン、ステージ、アクションを作成する」を参照してください。
AWS CodePipeline Amazon ECR ソースアクションや Amazon ECS デプロイアクションなどのコンテナアクションのジョブワーカーは、定義ファイルを使用してイメージ URI とコンテナ名をタスク定義にマッピングします。各定義ファイルは、次のようにアクションプロバイダによって使用される JSON 形式のファイルです。
-
Amazon ECS 標準デプロイでは、デプロイアクションへの入力で
imagedefinitions.json
ファイルが必要です。CodePipeline で Amazon ECS スタンダードデプロイアクションを使用するチュートリアルについては、チュートリアル: CodePipeline を使用した Amazon ECS 標準デプロイ を参照してください。CodePipeline の Amazon ECS 標準デプロイアクションと ECRBuildAndPublish アクションを使用する別のチュートリアルの例については、「」を参照してくださいチュートリアル: CodePipeline を使用して Docker イメージを構築して Amazon ECR にプッシュする (V2 タイプ)。 -
Amazon ECS Blue/Green デプロイでは、デプロイアクションへの入力で
imageDetail.json
ファイルが必要です。ブルー/グリーンデプロイのサンプルを使用したチュートリアルについては、「チュートリアル: Amazon ECR ソース、ECS - CodeDeploy 間のデプロイでパイプラインを作成する」を参照してください。-
Amazon ECR ソースアクションでは、ソースアクションの出力として提供される、
imageDetail.json
ファイルが生成されます。
-
トピック
Amazon ECS 標準デプロイアクション用の imagedefinitions.json ファイル
イメージ定義ドキュメントは、Amazon ECS のコンテナ名およびイメージとタグについて説明する JSON ファイルです。コンテナベースのアプリケーションをデプロイする場合は、イメージ定義ファイルを生成して CodePipeline のジョブワーカーに Amazon ECS コンテナを提供し、Amazon ECR などのイメージリポジトリから取得するイメージ ID を生成する必要があります。
注記
このファイルのデフォルトのファイル名は imagedefinitions.json
です。別のファイル名を使用することを選択した場合は、パイプラインデプロイステージを作成するときにそのファイル名を指定する必要があります。
以下の考慮事項に注意して、imagedefinitions.json
ファイルを作成します。
-
ファイルには UTF-8 エンコーディングを使用する必要があります。
-
イメージ定義ファイルの最大ファイルサイズの制限は 100 KB です。
-
ファイルは、ソースとして作成するか、デプロイアクションの入力アーティファクトになるようにアーティファクトを構築する必要があります。つまり、ファイルが CodeCommit リポジトリなどのソースの場所にアップロードされていること、またはビルドされた出力アーティファクトとして生成されていることを確認してください。
imagedefinitions.json
ファイルはコンテナ名とイメージ URI を提供します。次のキーと値のペアのセットで構築する必要があります。
キー | 値 |
---|---|
名前 | コンテナ名 |
ImageURI | imageUri |
注記
[名前] フィールドは、コンテナイメージ名、つまり Docker イメージ名に使用します。
コンテナ名が sample-app
で、イメージ URI が ecs-repo
、タグが latest
の JSON 構造は次のとおりです。
[
{
"name": "sample-app",
"imageUri": "11111EXAMPLE.dkr.ecr.us-west-2.amazonaws.com/ecs-repo:latest"
}
]
複数のコンテナイメージのペアをリストするようにファイルを構築することもできます。
JSON の構造:
[
{
"name": "simple-app",
"imageUri": "httpd:2.4"
},
{
"name": "simple-app-1",
"imageUri": "mysql"
},
{
"name": "simple-app-2",
"imageUri": "java1.8"
}
]
パイプラインを作成する前に、以下の手順に従って imagedefinitions.json
ファイルを設定します。
-
パイプラインのコンテナベースのアプリケーションデプロイの計画の一環として、ソースステージとビルドステージを計画します (該当する場合)。
-
次のいずれかを選択します。
-
パイプラインがビルドステージをスキップするように作成されている場合、ソースアクションがアーティファクトを提供できるように、手動で JSON ファイルを作成してソースリポジトリにアップロードする必要があります。テキストエディタを使用してファイルを作成し、ファイルに名前を付けます。または、デフォルトの
imagedefinitions.json
ファイル名を使用します。イメージ定義ファイルをソースリポジトリにプッシュします。注記
ソースリポジトリが Amazon S3 バケットの場合は、JSON ファイルを圧縮してください。
-
パイプラインにビルドステージがある場合は、ビルドフェーズ中にソースリポジトリにイメージ定義ファイルを出力するコマンドをビルドスペックファイルに追加します。以下の例では、printf コマンドを使用して、
imagedefinitions.json
ファイルを作成します。buildspec.yml
ファイルのpost_build
セクションにこのコマンドをリストします。printf '[{"name":"
container_name
","imageUri":"image_URI
"}]' > imagedefinitions.jsonイメージ定義ファイルを出力アーティファクトとして
buildspec.yml
ファイルに含める必要があります。
-
-
コンソールでパイプラインを作成する場合、[パイプラインの作成] ウィザードの [デプロイ] ページの [イメージのファイル名] にイメージ定義ファイル名を入力します。
Amazon ECS をデプロイプロバイダーとして使用するパイプラインを作成するための段階的なチュートリアルについては、[チュートリアル: CodePipeline を使用した継続的デプロイメント] を参照してください。
Amazon ECS Blue/Green デプロイアクション用の imageDetail.json ファイル
imageDetail.json
ドキュメントは、 Amazon ECS イメージ URI を説明する JSON ファイルです。ブルー/グリーンデプロイ用にコンテナベースのアプリケーションをデプロイする場合、imageDetail.json
ファイルを生成して、Amazon ECS と CodeDeploy ジョブワーカーに、Amazon ECR などのイメージリポジトリから取得するイメージ ID を提供する必要があります。
注記
ファイルの名前は imageDetail.json
である必要があります。
アクションとそのパラメータの説明については、「Amazon ECS および CodeDeploy ブルー/グリーンデプロイアクションリファレンス」を参照してください。
imageDetail.json
ファイルは、ソースとして作成するか、デプロイアクションの入力アーティファクトになるようにアーティファクトを構築する必要があります。これらの方法のいずれかを使用して、パイプラインに imageDetail.json
ファイルを提供できます。
-
ソースの場所に
imageDetail.json
ファイルを含め、Amazon ECS Blue/Green デプロイアクションへの入力としてパイプラインで提供されるようにします。注記
ソースリポジトリが Amazon S3 バケットの場合は、JSON ファイルを圧縮してください。
-
Amazon ECR ソースアクションでは、次のアクションへの入力アーティファクトとして
imageDetail.json
ファイルが自動生成されます。注記
Amazon ECR ソースアクションがこのファイルを作成するので、Amazon ECR ソースアクションを含むパイプラインは 手動で
imageDetail.json
ファイルを提供する必要はありません。Amazon ECR ソースステージを含むパイプラインの作成に関するチュートリアルについては、チュートリアル: Amazon ECR ソース、ECS - CodeDeploy 間のデプロイでパイプラインを作成する を参照してください。

imageDetail.json
ファイルは、イメージ URI を提供します。次のキーと値のペアで構築する必要があります。
キー | 値 |
---|---|
ImageURI | image_URI |
以下に、イメージ URI が ACCOUNTID.dkr.ecr.us-west-2.amazonaws.com/dk-image-repo@sha256:example3
である JSON 構造を示します。
{
"ImageURI": "ACCOUNTID.dkr.ecr.us-west-2.amazonaws.com/dk-image-repo@sha256:example3"
}
パイプラインを作成する前に、以下の手順に従って imageDetail.json
ファイルを設定します。
-
パイプラインのコンテナベースのアプリケーション Blue/Green デプロイの計画の一環として、ソースステージとビルドステージを計画します (該当する場合)。
-
次のいずれかを選択します。
-
パイプラインでビルドステージをスキップしている場合、JSON ファイルを手動で作成し、CodeCommit などのソースリポジトリにアップロードして、ソースアクションがアーティファクトを提供できるようにします。テキストエディタを使用してファイルを作成し、ファイルに名前を付けます。または、デフォルトの
imageDetail.json
ファイル名を使用します。imageDetail.json
ファイルをソースリポジトリにプッシュします。 -
パイプラインにビルドステージがある場合は、以下の手順を実行します。
-
ビルドフェーズ中にソースリポジトリにイメージ定義ファイルを出力するコマンドをビルドスペックファイルに追加します。以下の例では、printf コマンドを使用して、
imageDetail.json
ファイルを作成します。buildspec.yml ファイルのpost_build
セクションにこのコマンドをリストします。printf '{"ImageURI":"
image_URI
"}' > imageDetail.jsonimageDetail.json
ファイルを出力アーティファクトとしてbuildspec.yml
ファイルに含める必要があります。 -
imageDetail.json
をアーティファクトファイルとしてbuildspec.yml
ファイルに追加します。artifacts: files: - imageDetail.json
-
-