CodeDeploy AppSpec ファイルリファレンス - AWS CodeDeploy

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

CodeDeploy AppSpec ファイルリファレンス

このセクションは参照のみを目的としています。 AppSpec ファイルの概念的な概要については、「」を参照してくださいApplication Specification Files

アプリケーション仕様ファイル (AppSpec ファイル) は、デプロイを管理する CodeDeploy ために によって使用される YAML 形式または JSON 形式のファイルです。

注記

EC2/オンプレミスデプロイの AppSpec ファイルには、ローカルデプロイを実行しない限りappspec.yml、 という名前を付ける必要があります。詳細については、「ローカルのデプロイを作成する。」を参照してください。

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

Amazon ECS コンピューティングプラットフォームアプリケーションの場合、 AppSpec ファイルは によって使用され CodeDeploy 、以下が判断されます。

  • Amazon ECS タスク定義ファイル これは、 AppSpec ファイルの TaskDefinition命令の ARN で指定されます。

  • 置き換えタスクのコンテナとポートは、Application Load Balancer または Network Load Balancer がデプロイ中にトラフィックを再ルーティングする場所を設定します。これは、 AppSpec ファイル内の LoadBalancerInfo命令で指定されます。

  • サービスが実行されるプラットフォームのバージョン、そのサブネット、およびそのセキュリティグループなどの、Amazon ECS サービスに関するオプション情報。

  • Amazon ECS のデプロイ中、ライフサイクルイベントに応じたフック中に実行される、オプションの Lambda 関数。詳細については、「AppSpec Amazon ECS デプロイの「フック」セクション」を参照してください。

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

AWS Lambda コンピューティングプラットフォームアプリケーションの場合、 AppSpec ファイルは によって使用され CodeDeploy 、以下が判断されます。

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

  • 検証テストとして使用する Lambda 関数。

AppSpec ファイルは、YAML 形式または JSON 形式にすることができます。デプロイを作成するときに、 AppSpec ファイルの内容を CodeDeploy コンソールに直接入力することもできます。

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

アプリケーションで EC2/オンプレミスコンピューティングプラットフォームを使用する場合、 AppSpec ファイルは という名前の YAML 形式のファイルでappspec.yml、アプリケーションのソースコードのディレクトリ構造のルートに配置する必要があります。それ以外の場合、デプロイは失敗します。これは、以下を判断する CodeDeploy ために によって使用されます。

  • Amazon S3 または のアプリケーションリビジョンからインスタンスにインストールする必要があるもの GitHub。

  • デプロイライフサイクルイベントに応じて実行するライフサイクルイベントフック。

ファイルを完了したら AppSpec 、デプロイするコンテンツとともにアーカイブファイル (zip、tar、または圧縮 tar) にバンドルします。詳細については、「CodeDeploy のアプリケーションリビジョンの操作」を参照してください。

注記

tar および圧縮 tar アーカイブファイル形式 (.tar および .tar.gz) は、Windows Server インスタンスではサポートされていません。

アーカイブファイル (リビジョン CodeDeploy と呼ばれる) をバンドルしたら、Amazon S3 バケットまたは Git リポジトリにアップロードします。 次に、 CodeDeploy を使用してリビジョンをデプロイします。手順については、「でデプロイを作成 CodeDeploy」を参照してください。

EC2/オンプレミスコンピューティングプラットフォームのデプロイの appspec.yml は、リビジョンのルートディレクトリに保存されます。詳細については、「 AppSpec EC2/オンプレミスデプロイ用のファイルを追加します。」および「CodeDeploy のリビジョンを計画する」を参照してください。

AppSpec ファイル間隔

以下は、 AppSpec ファイル間隔の正しい形式です。角括弧に含まれた番号は、項目の間に必要なスペースの数を示します。例えば、 は項目の間に 4 CodeDeploy つのスペースを挿入する[4]ことを意味します。 AppSpec ファイル内のスペースの場所と数が正しくない場合、デバッグが難しいエラーが発生する可能性があります。

version:[1]version-number os:[1]operating-system-name files: [2]-[1]source:[1]source-files-location [4]destination:[1]destination-files-location permissions: [2]-[1]object:[1]object-specification [4]pattern:[1]pattern-specification [4]except:[1]exception-specification [4]owner:[1]owner-account-name [4]group:[1]group-name [4]mode:[1]mode-specification [4]acls: [6]-[1]acls-specification [4]context: [6]user:[1]user-specification [6]type:[1]type-specification [6]range:[1]range-specification [4]type: [6]-[1]object-type hooks: [2]deployment-lifecycle-event-name: [4]-[1]location:[1]script-location [6]timeout:[1]timeout-in-seconds [6]runas:[1]user-name

以下に、正しい間隔の AppSpec ファイルの例を示します。

version: 0.0 os: linux files: - source: / destination: /var/www/html/WordPress hooks: BeforeInstall: - location: scripts/install_dependencies.sh timeout: 300 runas: root AfterInstall: - location: scripts/change_permissions.sh timeout: 300 runas: root ApplicationStart: - location: scripts/start_server.sh - location: scripts/create_test_db.sh timeout: 300 runas: root ApplicationStop: - location: scripts/stop_server.sh timeout: 300 runas: root

間隔の詳細については、YAML の仕様を参照してください。