我正在使用Cloud Run,我想要激活Github的持续实现,但显然,我不能上传我的环境变量,所以,我能使用什么
当我使用"实现并编辑一个新版本"因为它不会继续,我必须打开它点击它,然后填充env
我不能在我的Dockerfile上使用ENV,因为我必须把它上传到我的Github上
我不能在云构建上使用替换它,因为我使用的是Dockerfile,这个选项只适用于cloudbuild.yml
(我不知道如何创建它,我只知道docker:)
也许我可以在Cloud上编辑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。实现持续集成
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
check for--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