我有一个包含多个服务,web和worker的nodejs项目。所有这些服务都在同一个repo中,唯一不同的是用于调用它们的脚本。
我想为每项服务配置不同的配置,但我也想让它们保持在1个回购之下。我可以使用环境,但那会破坏我的真实环境,如制作,舞台等。 如何在这种架构中使用弹性beanstalk?构成环境是最好的解决方案吗?
答案 0 :(得分:1)
有很多方法可以解决这个问题,每个方法都有其优缺点。我过去所做的是将我的配置上传到特定的S3存储桶,这通常是公众无法读取的。然后我会创建一个签名的URL(适用于未来几年,或其他任何),并将其设置为Beanstalk配置中的环境变量。然后,在我的.ebextensions/01-setup.config
(或类似的地方),我有这个:
{
"container_commands": {
"copy_config": {
"command": "curl $CONFIG_URL > conf/config.json"
}
}
}
在启动时,容器会从S3存储桶中获取配置的副本,在本地复制它,然后应用程序将使用此配置启动。
维护非常简单。