YAML文件中的花括号

时间:2019-02-11 14:54:52

标签: yaml travis-ci

我找到了以下.travis.yml模板。

我注意到了这一点

    repo: {GITHUB_USER}/{PROJECT_NAME}

这是我不熟悉的特殊.yml变量语法吗?我在哪里可以设置这些值(GITHUB_USERPROJECT_NAME)?


我知道我可以使用环境变量,例如:

    repo: $GITHUB_USER/$PROJECT_NAME

但是这种语法看起来不一样。

1 个答案:

答案 0 :(得分:2)

那不是有效的YAML文件。在第一个}之后,YAML解析器将期望块样式继续。这意味着要么与repo对齐的键,要么向外缩进。相反,它会找到一个/,并且任何YAML解析器都应该对此抛出错误。

这看起来像是YAML文件的模板,例如在将文件内容加载到字符串templ中后,在Python中使用以下内容:

templ.format(**dict(GITHUB_USER="Janez", PROJECT_NAME="test"))

另一方面,推荐的YAML文件扩展名.yaml比Travis已有很多年,所以也许这就是为什么它们使用.yml扩展名的原因。