Shadow merge commit construct standing is a plugin we developed for the Atlassian Bitbucket Server. It permits monitoring the construct standing of code that may be within the goal department after an actual Pull-Request merge and vetoing the merge if the construct fails. It’s fairly easy, however fills a gaping gap within the performance required for steady integration.
We work with giant quantities of knowledge, so potential workarounds aren’t a very good match for us — they’re simply unable to supply the required efficiency.
Creating our personal plugin turned out to be the most effective answer for us.
So what does the plugin do?
Ranging from Bitbucket Server 7.X, our plugin does construct a shadow merge commit, which is its most refined half. The plugin supplies a typical git ref to that shadow merge commit so it could possibly be learn by a daily CI to make a construct.
The tip consumer’s half is to configure CI to learn a repo with the given ref to commit, then to make a construct, and to submit the construct standing to Bitbucket Server.
After that, the plugin shows that construct standing on UI and acts accordingly by way of blocking (vetoing) merge for Pull-Request.
It sees the construct standing for the shadow merge commit in Pull-Request.
Thus, you’ll be able to test the construct standing for the shadow merge commit to make sure the goal department could have good high quality after the precise merge.
It facilitates your CI practices on the shadow merge commit.
You’ll be able to run CI builds on the shadow merge decide to confirm the code that will likely be within the goal department after the true pull-request merge. Commit is rebuilt routinely on any change in supply or goal branches.
It vetoes pull-request if the shadow merge commit is failed.
The goal department is likely to be extremely delicate (like manufacturing/ or launch/), so, to keep away from its breakages, the plugin blocks merge of pull-request if a construct is failed.
On high of that
You’ll be able to allow automated merge if no veto on pull-request exists in the mean time of any of the next occasions: pull-request is authorized, supply department construct standing is ready, the shadow merge commit construct standing is ready, and the duty is resolved or deleted.
The plugin additionally helps you to set an choice to delete the supply department upon a profitable merge.