翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodeDeploy AppSpec ファイルリファレンス
このセクションは参照のみを目的としています。 AppSpec ファイルの概念的な概要については、「」を参照してくださいApplication Specification Files。
アプリケーション仕様ファイル (AppSpec ファイル) は、デプロイを管理する CodeDeploy ために によって使用される YAML
注記
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