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

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

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

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

アプリケーション仕様ファイル (AppSpec ファイル) はYAMLで使用されている-Green 形式または JSON 形式ファイル CodeDeploy デプロイメントを管理します。

注記

- AppSpec EC2/オンプレミスのデプロイ向けファイルの名前を指定する必要がありますappspec.ymlまたはappspec.yaml、ローカル展開を実行している場合を除きます。詳細については、「ローカルのデプロイの作成」を参照してください。

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

Amazon ECS コンピューティングプラットフォームアプリケーションでは、 AppSpec ファイルはによって使用されています CodeDeploy 決定するには:

  • Amazon ECS タスク定義ファイル これは、の ARN でTaskDefinitionの指示 AppSpec ファイル。

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

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

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

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

にとってAWSLambda コンピューティングプラットフォームアプリケーション、 AppSpec ファイルはによって使用されています CodeDeploy 決定するには:

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

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

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

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

アプリケーションで EC2/オンプレミスコンピューティングプラットフォームを使用している場合、 AppSpec file という名前の 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 は、リビジョンのルートディレクトリに保存されます。詳細については、EC2/オンプレミスデプロイ向けに AppSpec ファイルを追加する および CodeDeploy のリビジョンを計画する を参照してください。

AppSpec ファイルの間隔

正しい形式を以下に示します。 AppSpec ファイルの間隔。角括弧に含まれた番号は、項目の間に必要なスペースの数を示します。例:[4]は、項目の間に 4 つのスペースを挿入することを意味します。 CodeDeploy ある場所とスペースの数があると、デバッグが困難なエラーを発生させることがあります。 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 の仕様を参照してください。