#EC2/オンプレミスへのデプロイ#
##概要##
- CodeDeploy Agentが導入されたEC2またはオンプレミスインスタンスが必要。
- デプロイタイプ:インプレース / Blue/Green ※オンプレミスはインプレースのみ。
- デプロイグループに、Auto Scaling グループ を指定することで、スケールアウト時に最新のリビジョンが自動でデプロイされる。
- ライフサイクルイベントへHookを指定し、スクリプトを実行することが可能。
##リビジョンの構成##
-
フォルダ構成
-
appspec.yaml
-
ビルド済みの成果物
-
その他の配布物
-
Hookスクリプト
-
リビジョンタイプ
-
S3
-
GitHub
##appspec.yaml(EC2)##
セクション | 説明 |
---|---|
version | 現在は 0.0 のみ |
OS | linux もしくは Windows |
files | アプリケーションや設定ファイルをディレクトリへコピー |
permission | 特定のディレクトリとファイルのアクセス許可を設定 |
hooks | インストール前後の処理。アプリケーションの処理。アプリケーションの開始。デプロイ成功の確認。 |
version: 0.0
os: operating-system-name
files:
source-destination-files-mappings
permissions:
permissions-specifications
hooks:
deployment-lifecycle-event-mappings
##hooks(EC2)##
- インプレースデプロイとBlue/Green デプロイによりhookを実行可能な箇所が異なる。
#Lambda へのデプロイ#
##概要##
- Lambdaの関数重み付けエイリアスを利用したトラフィックのシフト
- カナリアデプロイ/リニアデプロイを選択。
- Validation HookでLambda関数を実行してテストすることが可能。
##appspec.yaml(Lambda)##
セクション | 説明 |
---|---|
version | 現在は 0.0 のみ |
resources | Lambda関数に関する情報を指定 |
hooks | hook用Lambdaの指定 |
version: 0.0
resources:
lambda-function-specifications
hooks:
deployment-lifecycle-event-mappings
##hooks(Lambda)##
- BeforeAllowTraffic および AfterAllowTraffic のみ。
#ECS へのデプロイ#
##概要##
- Greenタスクをプロビジョニングし、ロードバランサーのトラフィックで切り替える。
- 検証Hookによって各ステージのデプロイメントでテストを実行することが可能。
##appspec.yaml(ECS)##
セクション | 説明 |
---|---|
version | 現在は 0.0 のみ |
resources | デプロイする Amazon ECS アプリケーションに関する情報を指定する |
hooks | hook用Lambdaの指定 |
version: 0.0
resources:
ecs-service-specifications
hooks:
deployment-lifecycle-event-mappings
##hooks(ECS)##