Opsworks&Chef – 自定义使用相同配方部署的每个应用程序

我有一套将python应用程序部署到AWS实例的配方,它们运行良好。 我想要部署两个不同的应用程序,略有不同,比如需要安装asynchronous工作者代码,而另一个则不需要。 我应该怎么做?

我的select是,我看到他们:

  1. 在OpsWorks中创build两个应用程序,并为配方可以使用的每个环境设置env vars以决定是否/如何运行某些任务 envvars中
  2. 在回购详细说明应用程序特定的要求中创build文件
  3. 在每个部署中添加自定义JSON。 customJSON

这些select对我来说都不是理想的,我忽略了什么? 具有

选项1和3是“有效地”(我说松散)是相同的。 你基本上通过JSON传递差异。 我个人已经在OpsWorks中创build了两个不同的应用程序,并且成功地使用了它,但是我也很喜欢初级资源能够修改某些元素但不能访问密码或其他敏感属性的能力。 直接回答,选项2让我抽搐得最多。 选项1/3更好,但取决于您的需求。