I am in need to configure bitbucket-pipeline for each of the branches. While we can have branch based configuration, the file becomes too big and often results in conflicts due to frequent updates.
Is it possible for the bitbucket-pipeline.yml refer to other yml file. What i am looking for is the parent yml file indicate for branch1 refer this branch1.yml, and branch2 refer branch2.yml.?
Or any way to split into multiple yml files?
I'm afraid that it's not possible to have multiple yml configurations within the repository.
A workaround you can do is by having a bash script with all your commands within it for a specific branch then use the yml configuration to run the bash script.
echo "Commands for a specific branch"
pipelines: default: - step: script: - ./default-commands.sh branches: master: - step: script: - ./master-commands.sh feature/*: - step: script: - ./feature-commands.sh
You may also make use of Pipelines' default variables - $BITBUCKET_BRANCH
Variables in pipelines - Atlassian Documentation
pipelines: default: - step: script: - ./$BITBUCKET_BRANCH.sh
You may need to make sure the script's name is exactly the same as the branch name.
Hope this helps. :)
We are excited to announce the open beta program for self-hosted runners. Bitbucket Pipelines Runners is available to everyone. Please try it and let us know your feedback. If you have any issue...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events