【问题标题】:How to escape colon with following space in a GItLab CI/CD YAML value?如何在 GItLab CI/CD YAML 值中使用以下空格转义冒号?
【发布时间】:2021-09-06 06:06:53
【问题描述】:

我在 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 中使用冒号和后面的空格创建字符串值?

【问题讨论】:

    标签: yaml gitlab-ci


    【解决方案1】:

    如果你用单引号括住你的字符串,它应该可以工作:

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

    【讨论】:

      【解决方案2】:

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

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

      如果没有,请尝试:

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

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

      【讨论】:

        猜你喜欢
        • 2022-01-17
        • 1970-01-01
        • 1970-01-01
        • 2013-01-30
        • 2023-01-13
        • 2021-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多