You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Google Cloud读取Node.js项目的.env环境变量?

Hey Daniel,刚看到你的问题,这在Google Cloud部署Node.js项目时挺常见的,我给你整理几个实操性强的解决方案,都是官方推荐的方式:

方法1:通过Cloud Console手动配置(最适合快速解决)

假设你是用Cloud Run部署的(Express项目大多选这个),操作步骤如下:

  • 打开Google Cloud控制台,找到你的Cloud Run服务
  • 点击「编辑与部署新修订版本」
  • 滚动到「变量、网络和高级设置」,展开「环境变量」板块
  • 点击「添加变量」,把.env里的键值对逐一录入:比如键填MAILCHIMP_API_KEY,值填你的实际密钥;键填MAILCHIMP_LIST_ID,值填对应的列表ID
  • 保存并部署新修订版,之后你的Express代码里就能直接用process.env.MAILCHIMP_API_KEY读取这些变量了
方法2:用Cloud Build自动化注入(适合CI/CD流程)

如果你是通过Cloud Build流水线部署的,可以在cloudbuild.yaml里直接指定环境变量:

steps:
- name: 'gcr.io/cloud-builders/gcloud'
  args: [
    'run', 'deploy', 'your-service-name',
    '--image', 'gcr.io/your-project-id/your-image',
    '--set-env-vars', 'MAILCHIMP_API_KEY=your-secret-key,MAILCHIMP_LIST_ID=your-list-id'
  ]

每次触发构建时,这些变量会自动加载到你的服务中。

方法3:针对App Engine部署的情况

如果你用的是App Engine而非Cloud Run,需要修改app.yaml文件,添加env_variables字段:

runtime: nodejs18 # 替换成你实际使用的Node.js版本
env_variables:
  MAILCHIMP_API_KEY: "your-mailchimp-api-key"
  MAILCHIMP_LIST_ID: "your-mailchimp-list-id"

修改后重新部署App Engine服务,process.env就能获取到这些配置了。

重要提醒
  • 千万不要把.env文件上传到代码仓库!这会导致密钥泄露,Google Cloud也不推荐这种做法
  • 如果你本地开发时用了dotenv包加载变量,记得在代码里做环境判断,避免生产环境冲突:
// server.js 里的配置
if (process.env.NODE_ENV !== 'production') {
  require('dotenv').config();
}

内容的提问来源于stack exchange,提问作者Daniel Contreras

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:36:19