AWS CodeDeloy Lifecycle


AWS CodeDeployはAppSpecです.ymlファイルでライフサイクルを設定できます.
AppSpec.ymlにイベントフックを作成し、ライフサイクルフェーズごとに実行するスクリプトをマッピングします.
hooks:   
  ApplicationStop: 
    - location: scripts/application_stop.sh
      timeout: 300
      runas: ec2-user
  BeforeInstall:
    - location: scripts/before_install.sh
      timeout: 300
      runas: ec2-user
  ApplicationStart:
    - location: scripts/application_start.sh
      timeout: 300
      runas: ec2-user
無停止で導入可能なBlue/緑の導入には、次のライフサイクルがあります.

グレー表示の手順(Start、DownloadBundleなど)では、スクリプトを記述することはできません.
でもAppSpec.ymlの「files」にインストールするアイテムを指定できます.
ApplicationStop
  • 本番前に既存のパッケージをアンインストールするか、現在のサーバで実行中のアプリケーションを安定的に終了するには
  • .
    DownloadBundle
    ステップ
  • 新規作成ファイルを一時フォルダにダウンロードする
    BeforeInstall
  • は、復号ファイルまたはバックアップファイル
  • などのアプリケーションの実行を準備する.
    Install
    ステップ
  • DownloadBundleからダウンロードしたファイルを実際の作業フォルダにコピーして貼り付ける
    AfterInstall
  • ファイル権限またはアプリケーション構成変更手順
  • ApplicationStart
  • アプリケーションを実行するには
  • ValidateService
  • ライフサイクルの最後のステップとして、導入が正常に完了したことを確認します.
  • BeforeBlockTraffic, BlockTraffic, AfterBlockTraffic
  • の前のステップでは、既存のサーバ(青いサーバ)がロードバランサを通過します.
    閉塞箱
  • BeforeAllowTraffic, AllowTraffic, AfterAllowTraffic
    上記の手順では、新しく導入されたサーバ(緑のサーバ)は、負荷バランサにを登録しました.
    関連項目:https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/reference-appspec-file-structure-hooks.html