[英]AWS CloudFormation create-stack vs deploy
有人可以清楚地向我解释AWS CLI Cloudformation create-stack
和deploy
命令之间的区别和优先级吗? 对我来说,似乎他们做同样的事情并部署资源。
为什么当您从cli运行deploy命令时,create stack没有可执行的更改集,而文档说:
通过创建并执行更改集来部署指定的AWS CloudFormation模板。 AWS CloudFormation执行更改集后,该命令将终止。 如果要在AWS CloudFormation执行更改集之前查看更改集,请使用--no-execute-changeset标志。
create-stack
只能在您知道要创建新堆栈时使用。 如果要更新堆栈,则必须使用其他命令等。如果您正在编写(ug)批处理文件以帮助运行您的cloudformation,这可能会非常痛苦。
deploy
是更好地利用变更集的功能 - 而不是必须知道堆栈是否存在,您可以简单地运行部署,工具将弄清楚它需要做什么。 使用--no-execute-changeset
,如果您决定在应用更改之前查看--no-execute-changeset
,它实际上将为您提供所需的命令。
看起来这是在2016年11月推出的,可能是在发布变更集的时候。
我假设deploy
只是围绕CreateChangeSet
, CreateStack
和UpdateStack
api方法的“语法糖”。
请注意,尽管deploy
在CLI中 ,但它不在API参考中 。
我假设在明确审查更改集之前,首选deploy
是首选。 在不使用deploy
您可能需要create-change-set
然后决定是创建还是更新堆栈。 在这种情况下,部署就像堆栈“upsert”。
我停止了懒惰并检查了代码,是的 - deploy
最终是从CLI使用云信息的一种更好的方式。 实施就在这里和这里 。 请注意,截至目前,根据此问题 , deploy
控制回滚行为的能力不存在。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.