Problem: Right now we are working with a total of four environments and we have one branch per environment: develop, QA, UAT and master (production). We also have an extra branch based on our current release number that we work against.
Our current work flow requires a pull request for each branch using branch permission "Prevent changes without a pull request".
This is proving quite cumbersome since new code will have to go through five pull requests to reach master. Even if it is fast to approve since all code should already be approved in the later stages it is a major overhead. To get something into development is two pull requests, one from release branch 1.2.3 and one to develop for example.
What we would like to do is require a pull request to our release branch (1.2.3) and that only the release branch is allowed to be merged into development, without requiring a pull request. It should then only be possible to merge develop into QA etc.
I read about a server-side pre-receive hook on StackOverflow but I'm unsure how this could be implemented on Bitbucket Server. Has anyone done anything like this?
I personlly haven't tried that as our branching model is different than what you have described. If you are finding your branching model cumbersome, may I suggest taking a look at this as an alternative branching strategy. It reduces the number of pull requests and might help simplify things for you: https://nvie.com/posts/a-successful-git-branching-model/
I hope this helps!
We’ve been building a plugin to integrate Bitbucket Server and Jenkins CI, and I’m excited to announce that our alpha is ready to download and install. It lets you seamlessly configure a Jenkins job ...
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