Bitbucket Cloud の使用を開始する
Bitbucket Cloud を初めてお使いですか? 新規ユーザー用のガイドをご利用ください。
bitbucket-pipelines.yml ファイルでセクションを繰り返している場合、YAML アンカーが役立つ可能性があります。これにより、作業を減らし、一括更新を簡単に行うことができます。
これには次の 2 つの側面があります。
構成の単位を定義するアンカー "&"
その単位を別の場所で参照するために利用するエイリアス "*"
以下の例では、再利用できる複数の行を持つステップ エンティティを &build-test を使用して定義し、それを再利用するエイリアス *build-test があります。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
definitions:
steps:
- step: &build-test
name: Build and test
script:
- mvn package
artifacts:
- target/**
pipelines:
branches:
develop:
- step: *build-test
main:
- step: *build-test
YAML アンカーおよびエイリアスに "["、"]"、"{"、"}"、", " の文字を含めることはできません。
ほとんどが同じで、1 つの小さな変更のみが必要なコード ブロックが必要な場合はどうすればよいでしょうか。
'<<:' 文字でオーバーライドを使用して値を追加したり、既存の値をオーバーライドしたりすることができます。
上記の例にビルドすることで、ステップの name 値をオーバーライドできます。
1
2
3
4
5
6
7
8
pipelines:
branches:
develop:
- step: *build-test
main:
- step:
<<: *build-test
name: Testing on Main
パイプラインの結果ページでは、develop ブランチで実行していたパイプラインのステップ名が Build and test、main ブランチで実行していたパイプラインのステップ名が Testing on Main となっています。
上記の手法を使用して、構成を作成するために必要な労力を軽減しし、変更が発生したときに維持できます。
すべての YAML と同様、インデントが正確であることを確認する必要があります。アンカーを使用している場合は得にご注意ください。
オーバーライドと複数のアンカーを一緒に使用する方法を示す、少し長い例を紹介します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
definitions:
steps:
- step: &build-test
name: Build and test
script:
- mvn package
artifacts:
- target/**
- step: &deploy
name: Deploy
deployment: test
script:
- ./deploy.sh target/my-app.jar
pipelines:
branches:
develop:
- step: *build-test
- step: *deploy
main:
- step: *build-test
- step:
<<: *deploy
deployment: production
trigger: manual
この内容はお役に立ちましたか?