首页 > 解决方案 > 如何在 GItLab CI/CD YAML 值中使用以下空格转义冒号?

问题描述

我在 GitLab CI/CD 中有以下行:

  script:
    - echo "Backend image: $BACKEND_IMAGE"

但是 YAML 解释器将其视为一个对象。然后我用谷歌搜索了这个问题并尝试了这个:

  script:
    - echo "Backend image:: $BACKEND_IMAGE"

但它仍然不起作用,GitLab 作业失败并显示以下内容:

jobs:deploy review:script config 应该是一个字符串或最多 10 层深度的嵌套字符串数组

如果我完全删除冒号,它工作正常。如何在 GitLab CI/CD 中使用冒号和后面的空格创建字符串值?

标签: yamlgitlab-ci

解决方案


也许您可以尝试先将字符串放入变量中,然后回显该变量:

- ECHO_STRING=$(echo "Backend image:: $BACKEND_IMAGE")
- echo $ECHO_STRING

如果没有,请尝试:

- ECHO_STRING=$(echo "Backend image:\ $BACKEND_IMAGE" | tr -d '\')
- echo $ECHO_STRING>>

(替换ECHO_STRING为更有意义的变量名)


推荐阅读