YAML アンカーを利用して Bitbucket Pipelines 構成の重複が減らせることが分かったので紹介します。
YAML アンカーを利用した例
bitbucket-pipelines.yml にはこのように記述します。アンカーの前方参照はできないようなので、 definitions.steps を上にして、 &test をアンカーとして使っています。
definitions:
steps:
- step: &test
caches:
- pip
script:
- pip install setuptools
- python ./setup.py test
pipelines:
default:
- step: *test
これだけでは利点があまり大きくありませんが、 Bitbucket Pipelines では << によるオーバーライドも可能なので、パイプラインの数が増えたら便利になりますね。
pipelines:
default:
- step: *test
branches:
python3:
- step:
<<: *test
image: python:3