4

如何在 AWS Opsworks 中将应用程序限制为每个默认部署到一层?

我已经从 Github 设置了一个 webhook,以自动将我的应用程序部署到 Opsworks,但是当应用程序只应该部署到一个层时,它会部署到我的所有层。

4

2 回答 2

0

如果可能,请提供显示您的图层和实例是如何设置的屏幕截图。我认为这可能是导致层安装应用程序的错误配置。

默认情况下,Opsworks 不会在所有层上安装应用程序,除非在层集中指定为该实例运行相关配方。

于 2014-04-02T03:38:51.220 回答
0

我为同样的问题挣扎了一会儿,我想我终于得到了答案:

  1. 创建一个新的 SNS 主题。

  2. 创建一个 AWS Lambda 函数,使用 JavaScript AWS-SDK 为您启动部署。所以你可以得到这个想法:

var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1'; // Opsworks only uses this one for Stacks in any region
var opsworks = new AWS.OpsWorks();
opsworks.describeStacks({}, function(err, data) {
  console.log(data);
  context.succeed(message);
});

  1. 将所需的策略分配给此 lambda 函数以允许您从 AWS API 调用的任何内容。

  2. 将 Github 设置为向 SNS 主题发送通知,而不是直接调用 Opsworks。

于 2015-07-15T22:43:03.777 回答