Validated Merge Plugin

Challenge: 

A bad check-in breaks the code repository and causes downtime. This is a very common problem during development and one that causes a lot of lost productivity.

If a bad commit makes it into the repository, an administrator/developer fixes it by backing out the change. Though a frustrating problem for all development projects, the downtime is exacerbated for large and distributed teams.

Teams get around this problem by setting up artificial processes, like asking a developer to run tests before committing a change. If the test suite is huge, it discourages developers from making frequent commits.

Solution: 

The Validated Merge plugin from Jenkins Enterprise by CloudBees prevents downtime due to bad commits. Jenkins acts as an intermediary Git repository. Developers check in code to this repository instead of the tip, Jenkins merges the code with the tip and runs tests. If, and only if, the merge and tests are successful is the code pushed to the tip.

This means that bad commits impact only the developer who is committing them — never the whole team, leading to tremendous productivity boosts.

Additionally, developers can now get rid of artificial testing processes. Removing this repetitive step allows developers to focus on developing new code and encourages them to commit more often, thus improving productivity.

The Validated Merge plugin functionality works with Git repositories.