如何解决如何在 Cloud Run 中使用环境变量并持续实施?
我正在使用 Cloud Run,我想激活 Github 的持续实施,但很明显,我无法上传我的环境变量,所以我可以使用什么
当我使用“实现并编辑新版本”时我无法放置它,因为它不会继续,我必须打开它单击它,然后填充env
我不能在我的 Dockerfile 上使用 ENV,因为我必须将它上传到我的 Github 上
我无法在云构建上使用替换它,因为我使用的是 Dockerfile 并且此选项仅适用于 cloudbuild.yml
(我不知道如何创建它,我只知道 docker :)
也许我可以在 Cloud run 上编辑 yalm 我不确定这是否是一个好的选择
如果我使用gcloud build
,也许我可以通过,但我必须点击“实施并编辑新版本”,这不是持续实施
我的 Dockerfile 如果你想帮助我在 cloudbuild.yml
上转换它
FROM node:15
workdir /app
copY package*.json ./
ENV ENV production
ENV PORT 3000
ENV API_URL https://api.mysite.com
RUN npm install --only=production
copY . .
RUN npm run build
CMD ["npm","start"]
解决方法
在 google 文档中,我找到了如何创建 cloudbuild.yalm 以进行持续集成
steps:
# Build the container image
- name: 'gcr.io/cloud-builders/docker'
args: ['build','-t','gcr.io/$PROJECT_ID/api:$COMMIT_SHA','.']
# Push the container image to Container Registry
- name: 'gcr.io/cloud-builders/docker'
args: ['push','gcr.io/$PROJECT_ID/api:$COMMIT_SHA']
# Deploy container image to Cloud Run
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
entrypoint: gcloud
args:
- 'run'
- 'deploy'
- 'api'
- '--image'
- 'gcr.io/$PROJECT_ID/api:$COMMIT_SHA'
- '--region'
- 'us-east1'
- '--platform'
- 'managed'
images:
- 'gcr.io/$PROJECT_ID/api:$COMMIT_SHA'
您必须更改服务名称的 API
之后,我把“实施和编辑新版本”放在了环境变量上
并且所有连续实现都将具有与我在实现新版本时放置的环境变量相同的环境变量。
,您没有将任何环境变量传递到服务中。
gcloud beta run deploy --help
检查 --set-env-vars
。
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
entrypoint: gcloud
args:
- 'run'
- 'deploy'
- 'api'
- '--image'
- 'gcr.io/$PROJECT_ID/api:$COMMIT_SHA'
- '--region'
- 'us-east1'
- '--platform'
- 'managed'
- '--set-env-vars'
- 'API_URL=${_API_URL}'
You can use substitutions in the build trigger: https://cloud.google.com/build/docs/configuring-builds/substitute-variable-values
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。