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

如何在Google Cloud中存储.env文件并用于Cloud Run部署?

问题

我想把一批环境变量存在.env.yaml文件里,用gcloud run deploy ... --env-vars-file=.env.yaml命令加载它。目前我在浏览器端的Google Cloud Shell里执行命令(之后会换成Cloud Build),所以希望把这个文件存在Google Cloud里,通过文件路径访问。我试过把文件存到Cloud Storage,用gcloud run deploy <appname> --image <imageurl> --env-vars-file gs://<cloudstorage name>/.env.yaml命令访问,但报错“Unable to read file”。我知道问题出在文件得能被Google Cloud Shell访问,现在想找在Google Cloud里存储和获取这个文件的最佳方案。

解决方案

你当前基于Cloud Build的方案是可行的,核心逻辑是先把Cloud Storage中的.env.yaml文件复制到构建环境的临时目录,再让gcloud run deploy读取本地文件。完整的Cloud Build配置如下:

steps:
- name: 'gcr.io/cloud-builders/docker'
  args: [ 'build', '-t', '<image-url>' ]
- name: 'gcr.io/cloud-builders/docker'
  args: ['push', '<image-url>']
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
  entrypoint: 'gsutil'
  args: ['cp', 'gs://my-storage/dev.env.yaml', '/tmp/dev.env.yaml']
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
  entrypoint: 'gcloud'
  args: ['run', 'deploy', 'my-app', '--image', '<image-url>', '--env-vars-file', '/tmp/dev.env.yaml']

关键注意点

  • Cloud Build的所有步骤共享/tmp临时目录,所以复制到这里的文件能被后续的gcloud步骤正常读取。
  • 要确保Cloud Build的服务账号拥有对应Cloud Storage存储桶的读取权限,可给服务账号添加roles/storage.objectViewer角色。

其他推荐方案

  • 敏感变量用Secret Manager存储
    如果.env.yaml里包含API密钥、数据库密码这类敏感信息,更安全的做法是直接把这些变量存入Secret Manager,部署时直接引用:

    gcloud run deploy my-app --image <image-url> --set-secrets "DB_PASSWORD=projects/<project-id>/secrets/<secret-name>/versions/latest"
    

    这种方式无需管理.env文件,直接从Secret Manager拉取敏感值,符合云环境安全最佳实践。

  • 将.env.yaml存入Cloud Source Repository
    如果你的代码托管在Cloud Source Repository,可以把.env.yaml(注意不要把敏感信息提交到公开仓库)和代码放在一起,Cloud Build可以直接访问仓库内的文件,省去从Cloud Storage复制的步骤:

    steps:
    # 构建并推送镜像的步骤
    - name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
      entrypoint: 'gcloud'
      args: ['run', 'deploy', 'my-app', '--image', '<image-url>', '--env-vars-file', './.env.yaml']
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:20:27