如果我使用AWS CodeDeploy执行的ApplicationStop挂钩的脚本不正确(失败)的部署,则似乎根本无法进行新部署,因为运行的是先前(失败)部署中的ApplicationStop挂钩,而不是新的,它只是不断失败。
除了删除和重新创建应用程序和/或部署组之外,还有什么方法可以让代码部署像完全全新的部署一样执行部署,而不运行ApplicationStop挂钩?
相关地,是否有可能忽略ApplicationStop中的错误?
答案 0 :(得分:1)
是的,可以忽略ApplicationStop中的错误。 CreateDeployment API调用具有标志“ ignoreApplicationStopFailures” [1],在这种情况下可以使用。
如果失败的原因是上一次成功部署中的脚本将永远无法成功运行,请创建一个新部署(您也可以复制一个部署)并指定应忽略ApplicationStop故障。您可以通过两种方式执行此操作:
使用AWS CodeDeploy控制台创建部署。在“创建部署”页面上的“ ApplicationStop生命周期事件失败”下,选择“如果实例上的此生命周期事件失败,则不要将实例部署失败”。
使用AWS CLI调用create-deployment命令并包括--ignore-application-stop-failures选项。
再次部署应用程序修订版时,即使ApplicationStop生命周期脚本失败,部署也将继续。如果新修订版包含针对ApplicationStop生命周期事件的固定脚本,则将来的部署无需应用此修补程序就可以成功。
参考文献: