使用基于Load的实例时,Amazon OpsWorks Custom Cookbooks不会更新

时间:2013-08-26 16:22:33

标签: amazon-web-services aws-opsworks

我在Amazon OpsWorks中部署了一个堆栈,并且我广泛使用自定义cookbook来部署我的应用程序。我的堆栈中有许多基于负载的实例(它们仅在需要时启动)。

每当我对自定义cookbook进行更改时,我都必须在任何正在运行的实例上手动更新cookbook(通过导航到Deployments> Run Command)。问题是任何未引导的实例都不会更新,并且它们不会在下次引导时自动更新。

我已经发现我可以删除然后重新创建所有基于负载的实例,强制它们在下次需要时完全重新设置,但必须有更好的方法来部署更新的自定义cookbook。

如何强制我的离线基于负载的实例在下次启动时更新他们的烹饪书(即使每次启动都没问题)?

3 个答案:

答案 0 :(得分:2)

From this AWS employee response on an Amazon Opsworks forum:

  

没有办法将更新推送到已停止的实例。我们正在考虑如何实现这一目标。目前,如果您创建新的时间或基于负载的实例,它将获得您的更新。

所以看来,现在,做你想做的唯一方法就是删除并重新创建每个基于负载的实例。这应该确保他们第一次启动时,他们会收到您自定义食谱的新版本。

答案 1 :(得分:1)

您可以从Stack,Run Command窗口运行Update Custom Cookbooks命令。

正如它所说:http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-installingcustom-enable-update.html

enter image description here

答案 2 :(得分:0)

根据opsworks文件:

http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-installingcustom-enable-update-.html

  

手动更新自定义食谱

     

使用修改后的食谱更新您的存储库。 AWS OpsWorks使用您最初安装cookbook时提供的缓存URL,因此不应更改cookbook根文件名,存储库位置和访问权限。

     

对于Amazon S3或HTTP存储库,请将原始.zip文件替换为具有相同名称的新.zip文件。

     

对于Git或Subversion存储库,编辑堆栈设置以将“分支/修订”字段更改为新版本。

     

在堆栈页面上,单击“运行”命令,然后选择“更新自定义烹饪书”命令。