Java Deployment with Gerrit, Jenkins and Sonar

This tutorial show how to configure a pretested commit scenario for a Java project using the Git, Gerrit and Jenkins open source tools.

It showns how to create a Git repository at Github, then create and configure a repository in Gerrit and how to configure a Jenkins job to listen to changes in the Gerrit code review. A simple Java project is created using Maven and Eclipse, the changes are pushed to Gerrit. Gerrit triggers builds at Jenkins and Jenkins reports back to Gerrit with the results. Additionally Jenkins runs Sonar analysis for every commit a developers make. That way every commit is tested separately allowing for a fine-grained quality control.

Tools referenced:
* Git: http://git-scm.com/
* Gerrit: https://code.google.com/p/gerrit/
* Jenkins: http://jenkins-ci.org/
* SonarQube: http://www.sonarqube.org/