如何解决有没有办法检查云运行服务上的 process.env 变量?
部署后,是否可以检查正在运行的云运行服务上的 process.env
变量?
我认为它们会在以下页面中提供:
https://console.cloud.google.com/run/detail
有没有办法让它们在这里可用?或者以其他方式检查它?
PS:这是一个 Docker 容器。
我的 Dockerfile 上有以下 ENV
。我知道他们在场,因为一切都在按预期进行。但是我在服务详细信息中看不到它们:
Dockerfile
ENV NODE_ENV=production
ENV PROJECT_ID=$PROJECT_ID
ENV SERVER_ENV=$SERVER_ENV
我使用的是 cloudbuild.yaml
文件。 ENV
指令存在于我的 Dockerfile
中,它们被传递到我的容器中。也许我应该将 env
添加到我的 cloudbuild.yaml
文件中?因为我在 --substitutions
调用中使用了 gcloub builds sumbmit
并且它们作为 --build-arg
传递到我的 Docker build
步骤。但我不会在我的 env
中将它们声明为 cloudbuild.yaml
。
解决方法
我遵循 official documentation 并使用控制台在 Cloud Run 服务上设置环境变量。然后我能够在 Google Cloud Console 上列出它们。
您可以使用 Cloud Console、gcloud 设置环境变量 创建新服务或部署新服务时的命令行或 YAML 文件 新修订:
,在@marian.vladoi 的回答的帮助下。这就是我最终做的
在我从 cloudbuild.yaml
文件部署的步骤中:
我添加了 --set-env-vars
参数
steps:
# DEPLOY CONTAINER WITH GCLOUD
- name: "gcr.io/google.com/cloudsdktool/cloud-sdk"
entrypoint: gcloud
args:
- "beta"
- "run"
- "deploy"
- "SERVICE_NAME"
- "--image=gcr.io/$PROJECT_ID/SERVICE_NAME:$_TAG_NAME"
- "--platform=managed"
- "--region=us-central1"
- "--min-instances=$_MIN_INSTANCES"
- "--max-instances=3"
- "--set-env-vars=PROJECT_ID=$PROJECT_ID,SERVER_ENV=$_SERVER_ENV,NODE_ENV=production"
- "--port=8080"
- "--allow-unauthenticated"
timeout: 180s
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。