新しいリビジョンをデプロイするたびに、「最後のインスタンスと同じように」CodeDeploy に新しいインスタンスを自動的に開始させることは可能ですか?
ありがとうございました。
新しいリビジョンをデプロイするたびに、「最後のインスタンスと同じように」CodeDeploy に新しいインスタンスを自動的に開始させることは可能ですか?
ありがとうございました。
Cloudformation を使用してインスタンスを起動し、Codedeploy を使用して最新の更新を取得することをお勧めします。
CodeDeploy で Cloudformation を呼び出すなど、逆に使用することはできないと思います。
http://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-use-cloud-formation-template.html
はい、デプロイ ライフサイクル中に CodeDeploy で新しいインスタンスを作成するか、ライフサイクル イベント フックを使用してデプロイ中に必要な任意のタスクをAppSpec ファイル経由で作成できます。
たとえば、ValidateService
イベント中に AWS CLI を呼び出して start-instance コマンドを実行し、新しいインスタンスを起動できます。
AppSpec ファイルの例を次に示します。
os: linux
files:
- source: Config/config.txt
destination: webapps/Config
- source: source
destination: /webapps/myApp
hooks:
BeforeInstall:
- location: Scripts/UnzipResourceBundle.sh
- location: Scripts/UnzipDataBundle.sh
AfterInstall:
- location: Scripts/RunResourceTests.sh
timeout: 180
ApplicationStart:
- location: Scripts/RunFunctionalTests.sh
timeout: 3600
ValidateService:
- location: Scripts/StartInsance.sh
timeout: 3600
runas: codedeployuser
ここでは、インスタンスを起動するようにコーディングできるValidateService
イベント呼び出しがあります。Scripts/StartInsance.sh
複数のインスタンスへのデプロイが複数のインスタンスを起動するのを防ぐために、いくつかのロジックを提供する必要がある場合があります。