CodeDeploy アプリケーション仕様 (AppSpec) ファイル - AWS CodeDeploy

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

アプリケーションが EC2/オンプレミスコンピューティングプラットフォームを使用している場合、 AppSpec ファイルは常に YAML 形式です。 AppSpec ファイルは、次の目的で使用されます。

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

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

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

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

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

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

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

注記

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

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

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

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