通过 vite-react 和 GCP Cloud Build 访问环境变量

Access Environment Variables through vite-react and GCP Cloud Build

提问人:Jacob Molsby 提问时间:1/24/2023 更新时间:1/25/2023 访问量:777

问:

我有一个 React 应用程序,它被 Docker 化并托管在 Google Cloud Build 上。我已经在 Cloud Build 上设置了环境变量,但我无法在我的 React 应用程序中访问它们。我做错了什么,我怎样才能在我的 React 应用程序中访问这些环境变量?

步骤:

  • 名称:gcr.io/cloud-builders/docker 环境:
      -“VITE_PUBLIC_KEY={$_VITE_PUBLIC_KEY}”, -“VITE_SERVICE_ID={$_VITE_SERVICE_ID}”, -“VITE_TEMPLATE_ID={$_VITE_TEMPLATE_ID}” 参数:
    • '--no-cache'
    • '-t'
    • “image_name”
    • .
    • '-f'
    • Dockerfile.prod
  • 名称:gcr.io/cloud-builders/docker 参数:
    • “image_name”
  • 名称: gcr.io/cloud-builders/gcloud 参数:
    • 部署
    • 鲍勃
    • '--图像'
    • “image_name”
    • '--region'
    • _DEPLOY_REGION 美元
    • '--允许未经身份验证'
    • '--平台'
    • _PLATFORM 美元 超时:600s

这是 YAML 文件:

我没有后端解决方案,我只想能够在客户端访问我的应用程序中的 3 个环境变量。而不声明 .env 文件。

尝试在 Cloud Run 中声明环境,并在 cloudbuild.yaml 文件中声明。它适用于 aws,但在 aws 上出现了不同的问题。

google-cloud-platform 环境变量客户端

评论


答:

0赞 aens119 1/24/2023 #1

一种解决方案可能是将环境变量直接硬编码到 React 代码中。不建议这样做,因为它可能会导致安全漏洞,并且将来很难在不重新部署整个应用程序的情况下更改值。此外,它不是访问环境变量的真正解决方案,因为它们不会在运行时动态设置。

评论

0赞 Jacob Molsby 1/24/2023
它的敏感信息,我不希望它在构建应用程序时出现在 bundle .js 文件中。因此,在谷歌云中编写环境变量的解决方案。我已经在秘密管理器中声明了它们,但似乎无法在实际构建中访问它们。