AWS OpsWorks - 如何从命令行针对特定层执行自定义配方?

AWS OpsWorks - 如何从命令行针对特定层执行自定义配方?

我想通过 CLI 执行等效操作,即单击堆栈、仅选择特定层中的实例并运行执行配方命令(或者触发配置生命周期步骤)。

我需要以编程方式执行此操作,可以选择在堆栈级别执行此操作,但这没有帮助,

为了避免类似以下情况,我可能会将图层成员拉入数组,然后按照下面的建议单独访问它们。但这不是很好,因为我必须添加堆栈和图层信息的静态信息。

 if deploy[:application_type] != 'php'
Chef::Log.debug("Skipping mod_php5_apache2::php application #{application} as it is not an PHP app")
next

结尾

答案1

您必须分两步完成此操作,首先使用获取特定层中的实例描述实例通过设置--layer-id参数,然后使用创建部署通过设置--instance-ids参数。

另一种选择是,如果自定义食谱未在正确的层上执行或应用类型错误,则让它们不执行任何操作。此技术在默认食谱中经常使用,下面是例子如果不是 PHP 应用程序,则跳过部署。然后您可以在所有实例上运行您的配方,但它只会在特定层上执行某些操作。

相关内容