当前位置: 首页 > 知识库问答 >
问题:

多个Heroku远程设备的环境变量配置,即测试、暂存和生产

齐俊达
2023-03-14

我在开发过程中使用了3种不同的git遥控器,即测试分期生产(在Heroku上)。我已经实现了一个. env文件来处理环境变量,但只是想澄清我设置它们的方式是正确的。

我已经实现了以下内容来获取节点\u ENV变量,并相应地使用它来附加。根据NODE\u envvar I集合,页面上的envvar字符串。

env = process.env.NODE_ENV;
envString = env;
SHEET_ID = process.env['SHEET_ID_' + envString];

在文档中,他们讨论了默认的envvars,但我不确定Heroku是否有自己的NODE\u envvar,或者它是如何工作的,我一直在本地中自己设置它。env(然后在按下时,我将服务器节点\u env变量更改为测试、暂存或生产)

我下面的理解正确吗?

>

  • 节点_ENV变量位于my中。env-这也是由环境ie Heroku提供的默认env var,还是我自己在env文件中设置var并在服务器上镜像它是正确的?

    当按下遥控器时,根据哪个遥控器,是切换本地中的env var节点_envvar的正确方法。环境节点_env=测试节点_env=暂存节点_env=生产?然后将使用例如Heroku dashboard的set vars,而不是本地vars。

    这是通过每个远程设备使用相同代码库而不必更新本地文件的最佳方法吗?

    像Heroku这样的环境是否默认提供NODE_ENV变量?我控制台记录了process.env,但只找到了我的本地设置变量。

    我正在尝试设计尽可能可维护和高效的代码,当我最终与其他人共享我的代码时,我希望它尽可能容易实现。

  • 共有1个答案

    袁波
    2023-03-14

    遵循12因素应用程序原则,所有配置应在环境变量中进行。

    对于你的应用程序,这意味着

    • 。env文件只是将配置放入本地环境以使应用程序正常工作的助手
    • heroku上的每个应用程序(在您的情况下,包括登台、测试、生产)都将通过heroku config命令设置自己的配置。它们最终会出现在应用程序dynos的本地环境中,以及您的插件(例如数据库凭据)中的任何内容
     类似资料:
    • 本文向大家介绍SpringBoot生产环境和测试环境配置分离的教程详解,包括了SpringBoot生产环境和测试环境配置分离的教程详解的使用技巧和注意事项,需要的朋友参考一下 第一步:项目中资源配置文件夹(resources文件夹)下先新增测试环境application-dev.yml和application-prod.yml两个配置文件,分别代表测试环境配置和生产环境配置 第二步:在applic

    • (gdb) u 309 Warning: couldn't activate thread debugging using libthread_db: Cannot find new threads: generic error Warning: couldn't activate thread debugging using libthread_db: Cannot find new threa

    • 本文向大家介绍Java环境变量配置教程,包括了Java环境变量配置教程的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java的环境变量设置方法,供大家参考,具体内容如下  安装好jdk后找到我的电脑(右键) ——》 属性——》高级选项卡——》环境变量,里面有管理员的用户变量,有系统变量。选哪一个都无所谓,我选的是Administrator的用户变量即管理员的用户变量,点击“新建”,

    • 问题内容: 我有一个flask应用程序,该应用程序将不同的配置文件用于开发和生产环境。相关的代码段是这样的: 当我在本地服务器上进行开发时,配置取自config.dev,但是当我将代码推送到heroku时,我想将SPOTPIX_SETTINGS环境变量设置为指向“ config.prod”文件。这可以在heroku命令行客户端中完成,如下所示: 但是,我不知道应该在等号右边写什么,因为我无法将生产

    • Yii 2 官方兼容 Codeception 测试框架, 你可以创建以下类型的测试: 单元测试 - 验证一个独立的代码单元是否按照期望的方式运行; 功能测试 - 在浏览器模拟器中以用户视角来验证期望的场景是否发生 验收测试 - 在真实的浏览器中以用户视角验证期望的场景是否发生。 Yii 为包括 yii2-basic 和 yii2-advanced 在内的应用模板脚手架提供全部三种类型的即用测试套件

    • 如果不配置环境变量,每次登录 MySQL 服务器时就必须进入到 MySQL 的 bin 目录下,也就是输入“cd C:\Program Files\MySQL\MySQL Server 5.7\bin”命令后,才能使用 MySQL 等其它命令工具,这样比较麻烦。配置环境变量以后就可以在任意位置执行 MySQL 命令了,本节主要介绍怎样手动配置环境变量。 MySQL 如果不配置环境变量就只能在 my

    • 类型: Object Nuxt.js 让你可以配置在客户端和服务端共享的环境变量。 例如 (nuxt.config.js): module.exports = { env: { baseUrl: process.env.BASE_URL || 'http://localhost:3000' } } 以上配置我们创建了一个 baseUrl 环境变量,如果应用设定了 BASE_URL

    • ENV 设置环境变量 格式有两种: ENV <key> <value> ENV <key1>=<value1> <key2>=<value2>... 这个指令很简单,就是设置环境变量而已,无论是后面的其它指令,如 RUN,还是运行时的应用,都可以直接使用这里定义的环境变量。 ENV VERSION=1.0 DEBUG=on \ NAME="Happy Feet" 这个例子中演示了如何换行,以