根据CI的棉布,此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是无效的,而且我找不到解决方法。或者,我必须在工具上编写代码以传递命令行参数,而不是读取配置文件。尽管如此,这种结肠的东西似乎是一个错误。
如果将整个行包裹在这样的引号中,则应该有效:
- 'echo "foo: $VAR" > site.yml'
gitlab的CI棉布标记为正确的语法。
有关更多信息,请参见此处。
@jawad所描绘的整行周围的单个引号,作品:
- 'echo "foo: $VAR" > site.yml'
但是,如果您的命令包含其他单个引号,我发现最容易使用pipe
Block Scaleer样式:|
- |
echo "I want to echo the key"
echo 'foo: $VAR' > site.yml
可以在此处找到有关Block Scaler样式的更多文档:http://www.yaml.org/spec/spec/1.2/spec.html#id2760844