gerritインストールからもろもろ設定まで

gerritインストールからもろもろ設定まで

gerritのサイト。すべてここに乗っている情報ですが、インストールから設定までをざっくりまとめます。

gerritとは

「げりっと」と読みます。コードレビューシステムです。 ci(俺はjenkins)と組み合わせることで単体テストやコード分析を通過したソースだけをコードレビュー対象にできます。

早速インストール

インストール方法についてざっくり。公式マニュアルにしたがってセットアップします。

前提条件

  • jdk ver1.6以上が必要です。

ユーザ生成

gerrit2という名前のユーザを追加

 $ sudo adduser gerrit2
 $ sudo su gerrit2

gerritダウンロード

  • gerritをからwarをダウンロード

gerritサイト初期化

gerrit_testsiteという名前で作ります。

java -jar gerrit.war init --batch -d ~/gerrit_testsite

いろいろ聞かれます。後から変更することも可能ですので、すべてデフォルトで設定しましょう。 設定が終わるとgerritが起動します。

http://localhost:8080

でつながります。

クライアント設定

クライアント側でssh keysの設定が必要です。

SSHキー生成コマンド

ssh-keygen -t rsa

sshキー登録

gerritサイトからsshキーを登録します。

http://localhost:8080

をブラウザで開き、sigin します。デフォルトはopenid認証になるので、ログインしてください。 ログイン後、settings => ssh public keys => Add keyを開き、生成したid_key.pubを貼り付けてください。

接続確認

接続できるか確認しましょう。クライアントから以下のコマンドを入力

ssh user@localhost -p 29418 

ウェルカムメッセージが表示されれば、OKです。

Welcome to Gerrit Code Review

gerritプロジェクト生成

クライアントからプロジェクトを生成できます。

ssh -p 29418 user@localhost gerrit create-project --empty-commit --name demo-project

既存プロジェクトを使う

既存プロジェクトの場合はプロジェクト生成後し、既存プロジェクトのルートへ移動後

$ git clone 既存プロジェクト
$ cd 既存プロジェクト
$ git push ssh://user@localhost:29418/demo-project *:*

pushする

gerritの場合pushする先は /refs/for/master になります。そこにpushすることで、該当pushがレビュー対象になります。

$ date > testfile.txt
$ git add testfile.txt
$ git commit -m "test commit"
$ git pus origin HEAD:ref/for/master

/refs/heads/masterにpushした場合、レビューを通さずリリース物として入り込みます。 なお、/refs/head/masterへのpushは権限の設定で拒否することができます。

gerritのワークフロー

gerritフロー こんな感じでしょうか?

jenkinsと連携する。

おそらくgerrit単体で使うよりjenkinsと連携させるパターンのほうが多いと思います。 jenkisにgerrit toggleを設定すれば、連携できます。これはまたの機会に

このエントリーをはてなブックマークに追加
はてなブックマーク - gerritインストールからもろもろ設定まで
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

Leave a Reply

  

  

  

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax