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?
Hi Kiran,
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.
For example:
#!/bin/bash
echo "Commands for a specific branch"
curl bitbucket.org
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. :)
Regards,
Ronald
Hi everyone, when I'm trying to run the pipeline I got:
bash: ./shared-pipeline.sh: Permission denied.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Did you run
chmod +x shared-pipeline.sh
?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
it's also possible to run it as follows:
script:
- bash ./shared-pipeline.sh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Is there an alternative way, for example:
.....
script:
- include: 'steps/build.yml'
- include: 'steps/deploymentXX.yml'
- include: 'steps/sendEmail.yml'
Best, Irina
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.