Gitlab CI中的YAML语法sed

Gitlab CI中的YAML语法sed,yaml,gitlab-ci,Yaml,Gitlab Ci,我在下面的文件中犯了一个错误,但我看不出我的错误在哪里。我的.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 wh

我在下面的文件中犯了一个错误,但我看不出我的错误在哪里。我的
.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
():分析第109行第11列的块映射时未找到所需的键

有什么想法吗?

因为双引号不在标量节点的开头,它们在YAML中没有特殊意义,冒号被视为正常值指示器(键和值都有一个嵌入的双引号)

我建议您引用整个标量:

- "sed  s/use_scm_version=True/use_scm_version={'write_to':  '..\/version.txt', 'root':  '..'},\/setup.py"
如果不起作用,还可以根据需要在其中添加
\“
(反斜杠转义双引号)