AWS CodeDeploy
ユーザーガイド (API バージョン 2014-10-06)

CodeDeploy アプリケーション仕様ファイル

CodeDeploy に固有の application specification file (AppSpec file) は、YAML 形式、または JSON 形式のファイルです。AppSpec file は、ファイルで定義されている一連のライフサイクルイベントフックとして、各デプロイを管理するために使用されます。

正しい形式の AppSpec file を作成する方法については、「CodeDeploy AppSpec File リファレンス」を参照してください。

Amazon ECS コンピューティングプラットフォームを選択します。 の AppSpec ファイル

アプリケーションで Amazon ECS コンピューティングプラットフォームを使用している場合は、AppSpec file を YAML 形式または JSON 形式にすることができます。また、コンソールのエディタに直接入力することもできます。AppSpec file は、以下を指定するために使用されます。

  • Amazon ECS サービスの名前と、新しいタスクセットにトラフィックを送信するために使用されるコンテナ名とポート。

  • 検証テストとして使用される関数。

Lambda 関数は、デプロイライフサイクルイベント後に検証を実行できます。詳細については、「Amazon ECS のデプロイ向けの AppSpec の「hooks」セクション」、「 Amazon ECS のデプロイ向けの AppSpec ファイル構造 」、および「 Amazon ECS のデプロイ向けの AppSpec File の例 」を参照してください。

AWS Lambda コンピューティングプラットフォームの AppSpec ファイル

アプリケーションで AWS Lambda compute platform を使用している場合は、AppSpec file を YAML 形式または JSON 形式にすることができます。また、コンソールのエディタに直接入力することもできます。AppSpec file は、以下を指定するために使用されます。

  • デプロイする AWS Lambda 関数のバージョン。

  • 検証テストとして使用される関数。

Lambda 関数は、デプロイライフサイクルイベント後に検証を実行できます。詳細については、「AWS Lambda のデプロイ向けの AppSpec の「hooks」セクション」を参照してください。

EC2/オンプレミスコンピューティングプラットフォームの AppSpec ファイル

アプリケーションで EC2/オンプレミス compute platform を使用している場合は、AppSpec file を必ず YAML 形式にします。AppSpec file は、以下を目的としています。

  • アプリケーションリビジョンのソースファイルを、インスタンスの宛先にマッピングする。

  • デプロイされたファイルのカスタムアクセス権限を指定する。

  • デプロイプロセスのさまざまなフェーズにおいて、各インスタンスで実行するスクリプトを指定する。

インスタンスのスクリプトは、多くの個別デプロイライフサイクルイベントの後で実行できます。CodeDeploy はファイルで指定されているスクリプトのみを実行しますが、これらのスクリプトはインスタンスの他のスクリプトを呼び出すことができます。インスタンスで実行しているオペレーティングシステムでサポートされている限り、任意のタイプのスクリプトを実行できます。詳細については、「EC2/オンプレミス のデプロイ向けの AppSpec の「hooks」セクション」を参照してください。

CodeDeploy エージェントが AppSpec ファイルを使用する方法

デプロイ時に、CodeDeploy エージェントは AppSpec file の hooks セクションで現在のイベントの名前を検索します。イベントが見つからない場合、CodeDeploy エージェントは次のステップに進みます。イベントが見つかった場合、CodeDeploy エージェントは実行するスクリプトのリストを取得します。スクリプトはファイルに表示された順序で、順に実行されます。各スクリプトのステータスはインスタンスの CodeDeploy エージェントのログファイルに記録されます。

スクリプトが正常に実行すると、終了コード 0 (ゼロ) を返します。

注記

CodeDeploy エージェントは、AWS Lambda または Amazon ECS デプロイでは使用されません。

Install イベントで、CodeDeploy エージェントは AppSpec file の files セクションに定義されているマッピングを使用して、リビジョンからインスタンスにコピーするフォルダまたはファイルを判断します。

オペレーティングシステムにインストールされている CodeDeploy エージェントが、AppSpec file に記載されているものと一致しない場合、デプロイは失敗します。

CodeDeploy エージェントログファイルの詳細については、「CodeDeploy エージェントの使用」を参照してください。