以下yaml重复相同的块,只有很小的差异。
jobs:
"python2":
steps:
- checkout
- run:
name: make check
command: >
virtualenv -p $(which python2.7) venv
&& make check
"python3":
steps:
- checkout
- run:
name: make check
command: >
virtualenv -p $(which python3.6) venv
&& make check
在两个块之间只有一个子串(python二进制名称python2.7与python3.6)在嵌套值上不同。
避免重复此代码的最佳方法是什么?
虽然anchors and extend看起来很有希望,但是not able to use以下yaml阻止了circle-ci config file。
steps: &commonSteps
- checkout
- run:
name: make check
command: ""
version: 2
jobs:
"python2":
<<: *commonSteps
如果有人有兴趣,这是{{3}}
答案 0 :(得分:-1)
删除差异。
不是在一个步骤中设置Python版本,而是在CircleCI配置中为该版本的Python使用适当的Docker镜像。然后,步骤将是相同的,并且可以使用YAML锚点/别名。