根据CI's lint,此yml无效:
pages:
stage: deploy
image: python:3.5
script:
- echo "foo: $VAR" > site.yml
- cat ~/.python-gitlab.cfg
artifacts:
paths:
- _build
only:
- master
错误:
jobs:pages:script config should be a string or an array of strings
如果我删除了echo
行上的冒号,它就可以了。
我想要做的是动态创建一些配置文件,以符合现有工具,使用私有变量,如echo "url: $CI_PROJECT_URL" > site.yml
来生成
url: "https://gitlab.com/group/project"
但我不能这样做,因为yaml被认为是无效的,我找不到变通办法。或者我必须在我的工具周围编写代码来传递命令行参数而不是读取配置文件。不过,这个冒号似乎是一个错误。
答案 0 :(得分:10)
答案 1 :(得分:2)
如@Jawad所描绘的那样,单引号引起了整行:
- 'echo "foo: $VAR" > site.yml'
但是,如果您的命令包含其他单引号,我发现使用pipe
Block Scaler Style:|
- |
echo "I want to echo the key"
echo 'foo: $VAR' > site.yml
有关块缩放器样式的更多文档,可以在这里找到:http://www.yaml.org/spec/1.2/spec.html#id2760844