f0a280cd83
* stable-2.11: Allow to push a tag that points to a non-commit object Insert Change-Id into access right changes Add "final" to the public static PLC_ORDER. SystemLog: fix duplicated log lines after reloading a plugin Fix clone URL in quick-install documentation Remove --recheck-mergeable option from reindex documentation Change-Id: I6247bc0fd3c8c276630b4a2d189254b980a763c2
228 lines
7.0 KiB
Plaintext
228 lines
7.0 KiB
Plaintext
= Gerrit Code Review - Quick get started guide
|
|
|
|
****
|
|
This guide was made with the impatient in mind, ready to try out Gerrit on their
|
|
own server but not prepared to make the full installation procedure yet.
|
|
|
|
Explanation is sparse and you should not use a server installed this way in a
|
|
live setup, this is made with proof of concept activities in mind.
|
|
|
|
It is presumed you install it on a Unix based server such as any of the Linux
|
|
flavors or BSD.
|
|
|
|
It's also presumed that you have access to an OpenID enabled email address.
|
|
Examples of OpenID enable email providers are Gmail, Yahoo! Mail and Hotmail.
|
|
It's also possible to register a custom email address with OpenID, but that is
|
|
outside the scope of this quick installation guide. For testing purposes one of
|
|
the above providers should be fine. Please note that network access to the
|
|
OpenID provider you choose is necessary for both you and your Gerrit instance.
|
|
****
|
|
|
|
|
|
[[requirements]]
|
|
== Requirements
|
|
|
|
Most distributions come with Java today. Do you already have Java installed?
|
|
|
|
----
|
|
$ java -version
|
|
java version "1.7.0_21"
|
|
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
|
|
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
|
|
----
|
|
|
|
If Java isn't installed, get it:
|
|
|
|
* JDK, minimum version 1.7 http://www.oracle.com/technetwork/java/javase/downloads/index.html[Download]
|
|
|
|
|
|
[[user]]
|
|
== Create a user to host the Gerrit service
|
|
|
|
We will run the service as a non-privileged user on your system.
|
|
First create the user and then become the user:
|
|
|
|
----
|
|
$ sudo adduser gerrit2
|
|
$ sudo su gerrit2
|
|
----
|
|
|
|
If you don't have root privileges you could skip this step and run Gerrit
|
|
as your own user as well.
|
|
|
|
|
|
[[download]]
|
|
== Download Gerrit
|
|
|
|
It's time to download the archive that contains the Gerrit web and ssh service.
|
|
|
|
You can choose from different versions to download from here:
|
|
|
|
* https://www.gerritcodereview.com/download/index.html[A list of releases available]
|
|
|
|
This tutorial is based on version 2.2.2, and you can download that from this link
|
|
|
|
* https://www.gerritcodereview.com/download/gerrit-2.2.2.war[Link to the 2.2.2 war archive]
|
|
|
|
|
|
[[initialization]]
|
|
== Initialize the Site
|
|
|
|
It's time to run the initialization, and with the batch switch enabled, we don't have to answer any questions at all:
|
|
|
|
----
|
|
gerrit2@host:~$ java -jar gerrit.war init --batch -d ~/gerrit_testsite
|
|
Generating SSH host key ... rsa(simple)... done
|
|
Initialized /home/gerrit2/gerrit_testsite
|
|
Executing /home/gerrit2/gerrit_testsite/bin/gerrit.sh start
|
|
Starting Gerrit Code Review: OK
|
|
gerrit2@host:~$
|
|
----
|
|
|
|
When the init is complete, you can review your settings in the
|
|
file `'$site_path/etc/gerrit.config'`.
|
|
|
|
Note that initialization also starts the server. If any settings changes are
|
|
made, the server must be restarted before they will take effect.
|
|
|
|
----
|
|
gerrit2@host:~$ ~/gerrit_testsite/bin/gerrit.sh restart
|
|
Stopping Gerrit Code Review: OK
|
|
Starting Gerrit Code Review: OK
|
|
gerrit2@host:~$
|
|
----
|
|
|
|
The server can be also stopped and started by passing the `stop` and `start`
|
|
commands to gerrit.sh.
|
|
|
|
----
|
|
gerrit2@host:~$ ~/gerrit_testsite/bin/gerrit.sh stop
|
|
Stopping Gerrit Code Review: OK
|
|
gerrit2@host:~$
|
|
gerrit2@host:~$ ~/gerrit_testsite/bin/gerrit.sh start
|
|
Starting Gerrit Code Review: OK
|
|
gerrit2@host:~$
|
|
----
|
|
|
|
include::config-login-register.txt[]
|
|
|
|
== Project creation
|
|
|
|
Your base Gerrit server is now running and you have a user that's ready
|
|
to interact with it. You now have two options, either you create a new
|
|
test project to work with or you already have a git with history that
|
|
you would like to import into Gerrit and try out code review on.
|
|
|
|
=== New project from scratch
|
|
If you choose to create a new repository from scratch, it's easier for
|
|
you to create a project with an initial commit in it. That way first
|
|
time setup between client and server is easier.
|
|
|
|
This is done via the SSH port:
|
|
|
|
----
|
|
user@host:~$ ssh -p 29418 user@localhost gerrit create-project --empty-commit --name demo-project
|
|
user@host:~$
|
|
----
|
|
|
|
This will create a repository that you can clone to work with.
|
|
|
|
=== Already existing project
|
|
|
|
The other alternative is if you already have a git project that you
|
|
want to try out Gerrit on.
|
|
First you have to create the project. This is done via the SSH port:
|
|
|
|
----
|
|
user@host:~$ ssh -p 29418 user@localhost gerrit create-project --name demo-project
|
|
user@host:~$
|
|
----
|
|
|
|
You need to make sure that at least initially your account is granted
|
|
"Create Reference" privileges for the refs/heads/* reference.
|
|
This is done via the web interface in the Admin/Projects/Access page
|
|
that correspond to your project.
|
|
|
|
After that it's time to upload the previous history to the server:
|
|
|
|
----
|
|
user@host:~/my-project$ git push ssh://user@localhost:29418/demo-project *:*
|
|
Counting objects: 2011, done.
|
|
Writing objects: 100% (2011/2011), 456293 bytes, done.
|
|
Total 2011 (delta 0), reused 0 (delta 0)
|
|
To ssh://user@localhost:29418/demo-project
|
|
* [new branch] master -> master
|
|
user@host:~/my-project$
|
|
----
|
|
|
|
This will create a repository that you can clone to work with.
|
|
|
|
|
|
== My first change
|
|
|
|
Download a local clone of the repository and move into it
|
|
|
|
----
|
|
user@host:~$ git clone ssh://user@localhost:29418/demo-project
|
|
Cloning into demo-project...
|
|
remote: Counting objects: 2, done
|
|
remote: Finding sources: 100% (2/2)
|
|
remote: Total 2 (delta 0), reused 0 (delta 0)
|
|
user@host:~$ cd demo-project
|
|
user@host:~/demo-project$
|
|
----
|
|
|
|
Then make a change to it and upload it as a reviewable change in Gerrit.
|
|
|
|
----
|
|
user@host:~/demo-project$ date > testfile.txt
|
|
user@host:~/demo-project$ git add testfile.txt
|
|
user@host:~/demo-project$ git commit -m "My pretty test commit"
|
|
[master ff643a5] My pretty test commit
|
|
1 files changed, 1 insertions(+), 0 deletions(-)
|
|
create mode 100644 testfile.txt
|
|
user@host:~/demo-project$
|
|
----
|
|
|
|
Usually when you push to a remote git, you push to the reference
|
|
`'/refs/heads/branch'`, but when working with Gerrit you have to push to a
|
|
virtual branch representing "code review before submission to branch".
|
|
This virtual name space is known as /refs/for/<branch>
|
|
|
|
----
|
|
user@host:~/demo-project$ git push origin HEAD:refs/for/master
|
|
Counting objects: 4, done.
|
|
Writing objects: 100% (3/3), 293 bytes, done.
|
|
Total 3 (delta 0), reused 0 (delta 0)
|
|
remote:
|
|
remote: New Changes:
|
|
remote: http://localhost:8080/1
|
|
remote:
|
|
To ssh://user@localhost:29418/demo-project
|
|
* [new branch] HEAD -> refs/for/master
|
|
user@host:~/demo-project$
|
|
----
|
|
|
|
You should now be able to access your change by browsing to the http URL
|
|
suggested above, http://localhost:8080/1
|
|
|
|
|
|
== Quick Installation Complete
|
|
|
|
This covers the scope of getting Gerrit started and your first change uploaded.
|
|
It doesn't give any clue as to how the review workflow works, please read
|
|
link:http://source.android.com/submit-patches/workflow[Default Workflow] to
|
|
learn more about the workflow of Gerrit.
|
|
|
|
To read more on the installation of Gerrit please see link:install.html[the detailed
|
|
installation page].
|
|
|
|
|
|
GERRIT
|
|
------
|
|
|
|
Part of link:index.html[Gerrit Code Review]
|
|
|
|
SEARCHBOX
|
|
---------
|