Amazon web services 有没有办法强制使用AWS CodeDeploy进行全新部署?

Amazon web services 有没有办法强制使用AWS CodeDeploy进行全新部署?,amazon-web-services,aws-code-deploy,Amazon Web Services,Aws Code Deploy,如果我使用AWS CodeDeploy执行部署,而该部署的ApplicationStop钩子脚本不正确(失败),那么我似乎根本无法执行新的部署,因为上一次(失败)部署中的ApplicationStop钩子是运行的,而不是新的,并且它只是不断失败 除了删除和重新创建应用程序和/或部署组之外,还有什么方法可以让code deploy像执行全新部署一样执行部署,而不是运行ApplicationStop钩子 与此相关,是否可以忽略ApplicationStop中的错误?是的,可以忽略Applicatio

如果我使用AWS CodeDeploy执行部署,而该部署的ApplicationStop钩子脚本不正确(失败),那么我似乎根本无法执行新的部署,因为上一次(失败)部署中的ApplicationStop钩子是运行的,而不是新的,并且它只是不断失败

除了删除和重新创建应用程序和/或部署组之外,还有什么方法可以让code deploy像执行全新部署一样执行部署,而不是运行ApplicationStop钩子


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

是的,可以忽略ApplicationStop中的错误。CreateDeployment API调用有一个标志“ignoreApplicationStopFailures”[1],可在本例中使用

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

  • 使用AWS CodeDeploy控制台创建展开。在“创建部署”页面的“应用程序停止生命周期事件失败”下,选择“如果实例上的此生命周期事件失败,则不要使实例部署失败”

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

  • 再次部署应用程序修订版时,即使ApplicationStop生命周期脚本失败,部署仍将继续。如果新版本包含ApplicationStop lifecycle事件的固定脚本,则未来的部署可以在不应用此固定的情况下成功

    参考资料:

    [1]

    [2]