首页 > 解决方案 > Gitlab-CI 中的 YAML 语法 sed

问题描述

我在下面的文件中犯了一个错误,但我看不出我的错误在哪里。我的.gitlab-ci.yml配置文件中有这个命令。

-  sed  "s/use_scm_version=True/use_scm_version={'write_to':  '..\/version.txt', 'root':  '..'},\/"setup.py

即使我将整个 sed 括在双引号之间,似乎 ":​​" 也被解释为分号。

(<unknown>): did not find expected key while parsing a block mapping at line 109 column 11

有任何想法吗 ?

标签: yamlgitlab-ci

解决方案


由于您的双引号不在标量节点的开头,因此它们在 YAML 中没有特殊含义,并且冒号被视为正常值指示符(并且键和值都具有嵌入的双引号)。

我建议你引用整个标量:

- "sed  s/use_scm_version=True/use_scm_version={'write_to':  '..\/version.txt', 'root':  '..'},\/setup.py"

\"如果这不起作用,则可以根据需要在其中添加(反斜杠转义的双引号)。


推荐阅读