LoginSignup
0
0

【学習メモ】CodeDeployのデプロイライフサイクルイベント(AppSpecの各hook)を調べた

Posted at

「hooks」 セクションの構造

hooks:
   - deploymentLifecycleEventName:
     - location: script-location
       timeout: timeout-in-seconds
       runas: user-name

ECS デプロイ

hooks:
  #Startする
  - BeforeInstall: "BeforeInstallHookFunctionName"
  #Installする
  - AfterInstall: "AfterInstallHookFunctionName"
  #AllowTestTrafficする
  - AfterAllowTestTraffic: "AfterAllowTestTrafficHookFunctionName"
  - BeforeAllowTraffic: "BeforeAllowTrafficHookFunctionName"
  #AllowTrafficする
  - AfterAllowTraffic: "AfterAllowTrafficHookFunctionName"
  #Endする

Lambda デプロイ

デプロイ対象がLambdaの場合は、インストールイベントがなく直接AllowTrafficに入る

hooks:
   #Startする
   - BeforeAllowTraffic: "BeforeAllowTrafficHookFunctionName"
   #AllowTrafficする
   - AfterAllowTraffic: "AfterAllowTrafficHookFunctionName"
   #Endする

EC2 デプロイ(LoadBalancerなし)

デプロイ対象がEC2の場合、まずはApplicationStopでEC2を停止する必要がある
最後は「ValidateService」でデプロイが正常に完了したことを確認できる

hooks:
   #Startする
   - ApplicationStop: "ApplicationStopHookFunctionName"
   #DownloadBundleする
   - BeforeInstall: "BeforeInstallHookFunctionName"
   #Installする
   - AfterInstall: "AfterInstallHookFunctionName"
   - ApplicationStart: "ApplicationStartHookFunctionName"
   - ValidateService: "ValidateServiceHookFunctionName"
   #Endする

EC2 デプロイ(LoadBalancerあり)

LoadBalancerを使う場合は、最初BlockTrafficでトラフィックを停止する必要があり、デプロイ完了後またAllowTrafficする

hooks:
   #Startする
   - BeforeBlockTraffic: "BeforeBlockTrafficHookFunctionName"
   #BlockTrafficする
   - AfterBlockTraffic: "AfterBlockTrafficHookFunctionName"
   - ApplicationStop: "ApplicationStopHookFunctionName"
   #DownloadBundleする
   - BeforeInstall: "BeforeInstallHookFunctionName"
   #Installする
   - AfterInstall: "AfterInstallHookFunctionName"
   - ApplicationStart: "ApplicationStartHookFunctionName"
   - ValidateService: "ValidateServiceHookFunctionName"
   - BeforeAllowTraffic: "BeforeAllowTrafficHookFunctionName"
   #AllowTrafficする
   - AfterAllowTraffic: "AfterAllowTrafficHookFunctionName"
   #Endする

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0