

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

# 步骤 4：为 LifeCycle活动分配配方
<a name="other-services-redis-event"></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 支持 团队联系。

你可以[手动](workingcookbook-manual.md)运行自定义配方，但最好的方法通常是让 OpsWorks Stacks 自动运行它们。每层都有一组内置配方，分配到 Setup、Configure、Deploy、Undeploy 和 Shutdown 这五个[生命周期事件](workingcookbook-events.md)。实例上每次发生某个事件时， OpsWorks Stacks 为实例的每一层运行关联的配方来处理对应的任务。例如，当实例完成启动时， OpsWorks Stacks 会触发安装事件。此事件运行关联层的 Setup 配方，这通常处理诸如安装和配置软件包之类的任务。

通过将配方分配给相应的生命周期事件，可以让 OpsWorks Stacks 在图层的实例上运行自定义配方。在本示例中，您应该将`generate.rb`配方分配给 Rails App Server 层的 Deploy 事件。 OpsWorks 然后，Stacks 将在启动期间、安装配方完成后以及每次部署应用程序时在层的实例上运行它。有关更多信息，请参阅 [自动运行配方](workingcookbook-assigningcustom.md)。

**将配方分配给 Rails App Server 层的 Deploy 事件**

1. 在 OpsWorks Stacks L **ay** ers 页面上，对于 Rails App Server，单击 “**食谱**”，然后单击 “**编辑”...**

1. 在 **Custom Chef Recipes** 下，将完全限定的配方名称添加到 Deploy 事件，然后单击 **\$1**。完全限定的配方名称采用 `cookbookname::recipename `格式，其中 `recipename` 不包含 `.rb` 扩展名。在本例中，完全限定的名称为 `redis-config::generate`。然后单击 **Save** 以更新层配置。  
![\[Custom Chef Recipes interface showing setup, configure, deploy, undeploy, and shutdown options.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/redis_walkthrough_event.png)