【发布时间】:2020-07-23 04:15:04
【问题描述】:
虽然我不熟悉 DevOps 最佳实践,但我正在尝试提出一种可靠且高效的方法来管理生产中的多个变量。以下代表我目前的做法:
/
|ENV_VAR.sh
|--/api1
|--/staging.api1
|--/api2
|--/staging.api2
地点:
ENV_VAR.sh
### API 1 variables ###
export API1_VAR_1=foo
export API1_VAR_2=foo2
export API1_STAG_VAR_1=foo_stag
export API1_VAR_2=foo2_stag2
### API 2 variables ###
export API2_VAR_1=foo
export API2_VAR_2=foo2
export API2_STAG_VAR_1=foo_stag
export API2_VAR_2=foo2_stag2
API 1 和 2 是两个基于 nodejs 的应用程序,使用反向代理配置在同一台服务器上运行。
如果服务器没有任何问题(例如意外关闭),我只需要不时通过SOURCE ENV_VAR.SH(重新)设置变量,以确保定义了新变量。
在继续这种方法之前,我想知道它是否完全正确,或者它是否有很大的缺陷。
如果这种方法没问题,那么每当部署任何应用程序的新版本时,如何自动(重新)从package.json 获取环境变量? (只是为了保证变量仍然被定义)
提前致谢。
【问题讨论】:
-
下午。这是一个有点宽泛的问题,您目前如何部署到您的生产和登台环境?
-
我目前正在使用为每个环境配置的
yml文件,然后通过 GitLab 进行处理。更新相应的分支后,将创建一个新管道并将其复制到服务器的应用程序。然后我通过pm2包访问服务器并启动/管理应用程序。
标签: node.js environment-variables devops production-environment node-config