如何在 AWS Opsworks 中将应用程序限制为每个默认部署到一层?
我已经从 Github 设置了一个 webhook,以自动将我的应用程序部署到 Opsworks,但是当应用程序只应该部署到一个层时,它会部署到我的所有层。
如何在 AWS Opsworks 中将应用程序限制为每个默认部署到一层?
我已经从 Github 设置了一个 webhook,以自动将我的应用程序部署到 Opsworks,但是当应用程序只应该部署到一个层时,它会部署到我的所有层。
如果可能,请提供显示您的图层和实例是如何设置的屏幕截图。我认为这可能是导致层安装应用程序的错误配置。
默认情况下,Opsworks 不会在所有层上安装应用程序,除非在层集中指定为该实例运行相关配方。
我为同样的问题挣扎了一会儿,我想我终于得到了答案:
创建一个新的 SNS 主题。
创建一个 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);
});
将所需的策略分配给此 lambda 函数以允许您从 AWS API 调用的任何内容。
将 Github 设置为向 SNS 主题发送通知,而不是直接调用 Opsworks。