【发布时间】:2021-05-08 07:13:54
【问题描述】:
我正在尝试用云构建触发器替换 app.yaml 中的变量。
我在构建触发器中添加了替换变量。
将环境变量添加到 app.yaml,以便它们可以轻松地替换为构建触发器变量。像这样:
env_variables:
SECRET_KEY: %SECRET_KEY%
在 cloudbuild.yaml 中添加一个步骤,将 app.yaml 中的所有 %XXX% 变量替换为其来自构建触发器的值。
steps:
- name: node:10.15.1
entrypoint: npm
args: ["install"]
- name: 'gcr.io/cloud-builders/gcloud'
entrypoint: bash
args:
- '-c'
- |
sed -i 's/%SESSION_SECRET%/'${_SESSION_SECRET}'/g' app.yaml
timeout: "1600s"
问题是 Gcloud Build 抛出异常:
Already have image (with digest): gcr.io/cloud-builders/gcloud
bash: _L/g: No such file or directory
为什么?如何替换我的 app.yaml ?
我在 cloudbuild.yaml 的同一级别有一个 app.yaml 到项目的根目录
更新
我正在尝试使用此命令在本地构建和调试 gcloud:
sudo cloud-build-local --config=cloudbuild.yaml --write-workspace=../workspace --dryrun=false --substitutions=_SESSION_SECRET=test --push .
当我查看 app.yaml 文件时,替换按预期工作,完全没有例外。
与 gcloud 构建环境有什么区别?
【问题讨论】:
标签: triggers yaml gcloud app.yaml