【问题标题】:GCloud build YAML substitutions don't workGCloud 构建 YAML 替换不起作用
【发布时间】:2021-02-23 19:45:22
【问题描述】:

我有一个如下所示的构建配置文件:

steps:
...
<i use the ${_IMAGE} variable around 4 times here>
...
images: ['${_IMAGE}']
options:
   dynamic_substitutions: true
substitutions:
   _IMAGE: http://example.com/image-${_ENVIRON}

我触发构建如下:

gcloud builds submit . --config=config.yaml --substitutions=_ENVIRON=prod

我期望 gcloud 在我的脚本中替换 _ENVIRON 变量,然后替换 _IMAGE 变量,以便它扩展为“http://example.com/image-prod” - 但我是收到以下错误:

ERROR: (gcloud.builds.submit) INVALID_ARGUMENT: generic::invalid_argument: key "_ENVIRON" in the substitution data is not matched in the template

我能做些什么来完成这项工作?我真的希望能够使用 sub 轻松更改环境,而无需更改代码中的任何内容

【问题讨论】:

    标签: gcloud substitution


    【解决方案1】:

    如您所见,这是不可能的。

    如果_ENVIRON 的唯一用途是_IMAGE,为什么不从config.yaml 中删除substitions 并使用_IMAGE 作为替代:

    ENVIRON="prod"
    IMAGE: http://example.com/image-${ENVIRON}
    
    gcloud builds submit . \
    --config=config.yaml \
    --substitutions=_IMAGE=${IMAGE}
    

    【讨论】:

    • 嗯,这令人失望,但无论如何都非常有帮助。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2015-08-20
    • 1970-01-01
    • 2019-12-30
    • 2018-05-02
    • 2018-04-27
    • 2018-03-15
    • 2015-02-21
    • 2013-03-09
    相关资源
    最近更新 更多