Gerrit Plugin

Skip to end of metadata
Go to start of metadata

Plugin Information

Plugin ID gerrit Changes In Latest Release
Since Latest Release
Latest Release
Latest Release Date
Required Core
Dependencies
0.7
Oct 20, 2010
1.362
git (version:1.0)
Source Code
Issue Tracking
Maintainer(s)
GitHub
Open Issues
Jyrki Puttonen (id: jyrkiput)
Usage Installations 2013-Apr 624
2013-May 650
2013-Jun 663
2013-Jul 724
2013-Aug 736
2013-Sep 746
2013-Oct 786
2013-Nov 790
2013-Dec 855
2014-Jan 883
2014-Feb 948
2014-Mar 998

You might want to check Gerrit Trigger also. See http://hudson.361315.n4.nabble.com/We-would-like-to-contribute-a-new-Gerrit-plugin-td2224606.html#a2224606 for information about main differences.

This plugin integrates Gerrit Code Review to Jenkins.

It will mark a change verified if the build of the change was successful, effectively implementing a pre-tested commit workflow with Gerrit and the Git plugin (0.8.2 or later)

After build, the plugin just checks what revision is in workspace at the moment and uses Gerrits ssh command line tools for marking the result.

Getting Started

Using the latest release of the Gerrit plugin, along with recent builds of Gerrit itself are recommended. Thanks to a recent addition to Gerrit, one can now create "role accounts" such as one for the Jenkins <-> Gerrit integration.

Pre-requisites
  1. Generate an SSH key for the Jenkins user, the private key will need to be placed on the Jenkins master node.
  2. Create a "hudson" user in Gerrit: cat hudson.pub | ssh gerrithost gerrit create-account --ssh-key - --full-name Hudson hudson
  3. I recommend creating a group specifically for role accounts (such as "Bots" in the Admin > Groups interface in Gerrit)
  4. It is also useful to set up git-daemon(1) on the machine running Gerrit to allow your Jenkins slaves anonymous access to the repository, otherwise you'll need to set up all the slaves that will be running your Gerrit-enabled jobs with SSH access.
Creating the Job
  1. Create a new job, adding your Git repository. Change the Refspec field to reference +refs/changes/*:refs/remotes/origin/* instead of +refs/heads/*:refs/remotes/origin/*. Also, make sure you have chosen the "Gerrit-Plugin" choosing strategy, NOT "Gerrit" as in the image below (Choosing strategy was moved from Git-plugin to Gerrit-plugin and the name haed to be changed).
  2. Add your build steps as per usual
  3. Check the "Gerrit Integration" checkbox in the Post-build Actions section.
  4. Build!
  5. Once you're certain your job is configured correctly, visit Gerrit and grant the "hudson" account's group (i.e. "Bots") "+1 Verified" access to all projects, so it can annotate the changes with +1 or -1.

Versions

0.7
0.6
  • Aborted builds won't be marked as failed anymore
0.5
  • Moved buildchooser from git-plugin, use "Gerrit-Plugin" choosing strategy from now on.
  • Fix for issue when using Cygwin+Git.
0.4 2010-04-08
  • Fixed issue when using slaves for build
  • SSH commands are now sent from master only.
0.3 2010-04-06
  • Internal restructuring
  • Added some unit tests
  • This version will lose settings when upgrading from 0.2*
0.2 2010-03-30
  • Close ssh connection to gerrit properly
  • Added configuration option for unstable build verify value.
0.1.1
  • Failed release process forced to do a new release
0.1
  • Initial version

TODO

  • Perhaps add possibility to set review values also, for example when code analysis tools report errors. Analysis Collector Plugin might be useful.

Settings

Basic settings for plugin, remember to add user into gerrit.

Settings for Git -plugin (Available in 0.8.2)

How Jenkins shows up in gerrit

Review matrix:

Comment field:

Labels

Edit
plugin-post-build plugin-post-build Delete
plugin-external plugin-external Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Add Comment