我正在使用 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"]
答案 0 :(得分:1)
在 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
之后,我把“实施和编辑新版本”放在了环境变量上
并且所有连续实现都将具有与我在实现新版本时放置的环境变量相同的环境变量。
答案 1 :(得分:0)
您没有将任何环境变量传递到服务中。
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