弹性beanstalk中的多个Nodejs应用程序

我有一个nodejs项目与多个服务,networking和工作人员。 所有这些服务都在相同的回购,只是用来调用它们的脚本不同。

我想为每个服务不同的configuration,但我也想保持在1回购。 我可以使用环境,但是这会混乱我的真实环境,如生产,舞台等。我怎样才能使用弹性beanstalk这种架构? 构build环境是最好的解决scheme吗?

有很多方法来处理这个问题,每个方面都有其优点和缺点。 我过去所做的是将我的configuration上传到通常无法被公众读取的特定S3存储桶。 然后,我将创build一个签名的URL(对于未来几年,或者其他),并将其设置为Beanstalkconfiguration中的环境variables。 然后,在我的.ebextensions/01-setup.config (或类似的地方),我有这样的:

 { "container_commands": { "copy_config": { "command": "curl $CONFIG_URL > conf/config.json" } } } 

启动时,容器会从S3存储桶中获取configuration的副本,将其复制到本地,然后应用程序将以此configuration启动。

维护非常简单。