This question is in reference to Atlassian Documentation: Configure bitbucket-pipelines.yml
The document describes I can use globbing patterns to choose a pipeline for branches, tags, and Mercurial bookmarks. What happens if more than one globbing pattern match to a branch, tag, or bookmarks?
I read any exact match always has precedence over non-exact matches but nothing about precedence among globbing patterns. Is there a way to add an anything else pipeline without using default?
Hi Kaz,
We match the most specific pattern. So if you have multiple globbing patterns, the most specific one to match your branch/tag/bookmark will be selected. For example:
pipelines: branches: my-branch-a: - step: script: - echo "branch 1" my-branch-*: - step: script: - echo "branch 2" my-*: - step: script: - echo "branch 3" '*': - step: script: - echo "branch 4"
With the above YAML. If I push a commit to the branch my-branch-b, it will build against the configuration for "my-branch-*". Running the 'echo "branch 2"' command.
If I push a commit to the branch my-awesome-branch, it will build against the configuration for "my-*". Running the 'echo "branch 3"' command.
All branches that don't match my-branch-a, my-branch-*, or my-* (in that order of priority) will build against the '*' configuration. Running the 'echo "branch 4"' command. Acting as the "anything else" without needing a default section.
Does that make sense?
Thanks,
Phil
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.