我用 nodejs 开发一个应用程序并使用react。我在不同的环境中使用 dotenv 进行配置。
我使用 TFS 2017 构建和发布我的应用程序。
添加我的生产环境 .env 文件的最佳实践是什么?
最佳答案
生产配置可能难以维护。您可以使用任何模块甚至编写自己的自定义模块来将环境变量加载到您的应用程序中。
但是,为每个产品在本地维护生产 .env
文件(即将它们提交或将它们放入您的 docker 镜像中是一个坏主意。如果您碰巧更改了其中的一些配置,您将必须手动更改每个应用程序的代码,构建 docker 镜像(如果需要)并重新部署。如果只有几个应用程序,这可能很容易。但是如果相关应用程序的数量增加(通常发生在基于微服务架构的案例)——它们都共享凭据、用于数据库连接的 ip 等。手动更改代码和重新部署所有应用程序成为一项繁忙的任务。
通常,开发人员倾向于保留所有凭据和环境变量的中央存储库。例如,AWS 提供 parameter store和 MS Azure 提供 Azure Key vault .在这种情况下,所有参数都在启动时获取,我们所要做的就是重新启动应用程序。
所以通常人们只设置一个全局变量 NODE_ENV(如 prod
或 dev
),基于 NODE_ENV 运行诸如 env $( node read-env-variables.js) node app.js
.
关于node.js - 如何在持续集成中管理 .env 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57654607/