是否可以通过AWS CodeDeploy强制进行干净的板岩部署?

问题描述 投票:0回答:1

如果我使用AWS CodeDeploy执行的ApplicationStop挂钩的脚本不正确(失败)的部署,似乎根本无法进行新的部署,因为运行的是先前(失败)部署的ApplicationStop挂钩,而不是新的一,但它总是不断失败。

除了删除和重新创建应用程序和/或部署组之外,还有什么方法可以告诉代码部署进行部署,就好像它是一个全新的部署,而不是运行ApplicationStop挂钩吗?

相关地,是否可以忽略ApplicationStop中的错误?

amazon-web-services aws-code-deploy
1个回答
0
投票

是,可以忽略ApplicationStop中的错误。 CreateDeployment API调用具有标志“ ignoreApplicationStopFailures” [1],可以在这种情况下使用。

如果失败的原因是上一次成功部署中的脚本将永远无法成功运行,请创建一个新部署(您也可以复制一个部署)并指定应忽略ApplicationStop故障。您可以通过两种方式执行此操作:

  1. 使用AWS CodeDeploy控制台创建部署。在“创建部署”页面上的“ ApplicationStop生命周期事件失败”下,选择“如果实例上的此生命周期事件失败,则不要将实例部署失败”。

  2. 使用AWS CLI调用create-deployment命令并包括--ignore-application-stop-failures选项。

当再次部署应用程序修订版时,即使ApplicationStop生命周期脚本失败,部署也将继续。如果新修订版包含针对ApplicationStop生命周期事件的固定脚本,则将来的部署无需应用此修补程序就可以成功。

参考文献:

[1] https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html#CodeDeploy-CreateDeployment-request-ignoreApplicationStopFailures

[2] https://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting-deployments.html#troubleshooting-deployments-lifecycle-event-failures

© www.soinside.com 2019 - 2024. All rights reserved.