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