Gerrit
Gerrit
Gerrit is a free, web-based collaborative code review tool that integrates with Git. It has been developed at Google by Shawn Pearce (co-author of Git, founder of JGit) for the development of the Android project.
Starting from a set of patches for Rietveld, it became a fork and evolved into a full blown project when ACL patches wouldn't be merged into Rietveld by its author, Guido van Rossum.
Originally written in Python like Rietveld, it is now written in Java (Java EE Java Servlet) with SQL since version 2.
Installation
Gerrit installation and configuration is complicated so it will be described as detailed as it possible.
Prerequisites
By-default gerrit use HB database, but MySQL also supported and we will use it. Also, Java is required (already installed). For demo we install MySQL on the same server but of course it is possible to use external MySQL / Postres /Oracle
- mysql server
- java
apt-get install mysql-server-5.6 mysql-common-5.6 mysql-client-core-5.6 mysql-client-5.6 mysql-source-5.6 mysql-testsuite-5.6
deb package
First step is get deb package for ubuntu and install it. By-debaul
Plugins:
- https://gerritcodereview-plugins.storage.googleapis.com/index.html
- gerritcodereview-plugins/plugins/master/download-commands/download-commands.jar
251 wget http://deb.gerritforge.com/dists/gerrit/contrib/binary-amd64/gerrit-2.11.8-1.noarch.deb
# java -jar /var/gerrit/bin/gerrit.war init -d /var/gerrit Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore *** Gerrit Code Review 2.11.8 *** *** Git Repositories *** Location of Git repositories [git]: *** SQL Database *** Database server type [mysql]: Gerrit Code Review is not shipped with MySQL Connector/J 5.1.21 ** This library is required for your configuration. ** Download and install it now [Y/n]? Y Downloading http://repo2.maven.org/maven2/mysql/mysql-connector-java/5.1.21/mysql-connector-java-5.1.21.jar ... OK Checksum mysql-connector-java-5.1.21.jar OK Server hostname [localhost]: Server port [(mysql default)]: Database name [gerrit]: Database username [gerrit]: Change gerrit's password [y/N]? *** Index *** Type [LUCENE/?]: root@jenkins-demo:/var/gerrit# The index must be rebuilt before starting Gerrit: java -jar gerrit.war reindex -d site_path root@jenkins-demo:/var/gerrit# *** User Authentication *** Authentication method [LDAP/?]: LDAP server [ldap://127.0.0.1]: LDAP username [cn=admin,dc=demo,dc=com]: Change cn=admin,dc=demo,dc=com's password [y/N]? Account BaseDN [ou=gerrit,dc=demo,dc=com]: Group BaseDN [ou=gerrit,dc=demo,dc=com]: *** Review Labels *** Install Verified label [y/N]? *** Email Delivery *** SMTP server hostname [localhost]: SMTP server port [(default)]: SMTP encryption [NONE/?]: SMTP username : *** Container Process *** Run as [gerrit]: Java runtime [/usr/lib/jvm/java-7-openjdk-amd64/jre]: Upgrade /var/gerrit/bin/gerrit.war [Y/n]? n *** SSH Daemon *** Listen on address [*]: Listen on port [29418]: Gerrit Code Review is not shipped with Bouncy Castle Crypto SSL v151 If available, Gerrit can take advantage of features in the library, but will also function without it. Download and install it now [Y/n]? n Generating SSH host key ... rsa(simple)... done *** HTTP Daemon *** Behind reverse proxy [Y/n]? Proxy uses SSL (https://) [y/N]? Subdirectory on proxy server [/r/]: Listen on address [127.0.0.1]: Listen on port [8081]: Canonical URL [http://192.168.59.103:8081/r/]: *** Plugins *** Installing plugins. Install plugin singleusergroup version v2.11.8 [y/N]? Install plugin commit-message-length-validator version v2.11.8 [y/N]? Install plugin reviewnotes version v2.11.8 [y/N]? Install plugin replication version v2.11.8 [y/N]? Install plugin download-commands version v2.11.8 [y/N]? y Initializing plugins. No plugins found with init steps.
sudo -H -u gerrit java -jar /var/gerrit/bin/gerrit.war reindex
apt-get install git-review
root@jenkins-demo:~/demo-jenkins-jobs/demo/builders/test-jenkins-jobs# ssh jenkins-demo@192.168.59.103 -p 29418 gerrit stream-events
root@jenkins-demo:~/demo-jenkins-jobs# ssh jenkins-demo@192.168.59.103 -p 29418 'gerrit review 3,4 --message "Build 3 Started nulljob/test-jenkins-jobs/11/ " --label "Verified=0" --code-review 0'
- http://stackoverflow.com/questions/22229536/edit-project-config-in-a-gerrit-project
- https://gerrit-review.googlesource.com/Documentation/config-labels.html#label_Verified
- https://gerrit-review.googlesource.com/Documentation/config-project-config.html
http://stackoverflow.com/questions/25478344/adding-gerrit-label-but-not-able-to-see-it-properly-in-review-page https://gerrit-review.googlesource.com/Documentation/config-labels.html#label_Verified