Nodejs process.env 是如何工作的

How Nodejs process.env works

我有一个环境变量,它解析了 kubernetes 中容器内的当前阶段。 当我在代码中引用变量时,它总是打印“dev”,即使实际值引用“stage”也是如此。容器内 .

我的掌舵变量:

profiles:
  - node
owner:
  group: gcp-admin # change to your own group
notify:
  slack:
    channelName: XXXXXXXX-ingestion # change to your own slack channel

build:
  docker:
    app:
      runtime: node
      buildArgs:
        nodeVersion: 14.17.1
        buildDir: '.'
deploy:
  helm:
    values:
      env:
        ENVIRONMENT: stage

我的 java 脚本代码是这样的..

env: process.env.ENVIRONMENT

当我写 console.log(env) 时,它总是打印 dev。 下图是我 运行 describe pod

时得到的

您的配置看起来很旧(验证版本)。您可以参考下面的文档。

env:
 - name: ENVIRONMENT
   value: "stage"

在此处阅读更多内容:

我做了类似的事情,但环境名称是“APP_ENV”,它有效

  helm:
    values:
      env:
        APP_ENV: "staging" // or "development" or "production"

在代码中

if (process.env.APP_ENV == "staging") {