

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 自动运行配方
<a name="workingcookbook-assigningcustom"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

每个层都有一组分配给每个生命周期事件的内置配方，但某些层缺少“取消部署”配方。当实例上发生生命周期事件时， OpsWorks Stacks 会为关联层运行相应的配方集。

如果您安装了自定义食谱，则可以通过将每个食谱分配给图层的生命周期事件来让 OpsWorks Stacks 自动运行部分或全部食谱。事件发生后， OpsWorks Stacks 会在图层的内置配方之后运行指定的自定义配方。

**将自定义配方分配给层事件**

1. 在 **Layers** 页上，对于相应的层，单击 **Recipes**，然后单击 **Edit**。如果您尚未启用自定义说明书，请单击 **configure cookbooks** 以打开堆栈的 **Settings** 页。将 **Use custom Chef Cookbooks** 切换到 **Yes**，并提供说明书的存储库信息。然后，单击 **Save** 并导航回 **Recipes** 选项卡的编辑页面。有关更多信息，请参阅 [安装自定义说明书](workingcookbook-installingcustom-enable.md)。

1. 在 **Recipes** 选项卡上，在相应事件字段中输入各个自定义配方，然后单击 **\$1** 以将其添加到列表。按如下方式指定配方:*cookbook*::*somerecipe*（省略`.rb`扩展名）。  
![\[层详细信息页\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/php_edit.png)

当您启动新实例时， OpsWorks Stacks 会在运行标准配方后自动为每个事件运行自定义配方。

**注意**  
自定义配方将按您在控制台中输入它们的顺序执行。控制执行顺序的一个替代方法是实施按正确顺序执行配方的元配方。