LoginSignup
17
17

More than 5 years have passed since last update.

Gitblitでローカルマシンにリポジトリブラウジングのwebアプリをたてる

Posted at

どんな人向けか?

gitサーバはあるが、GitHub、bitbucketのような、管理のためのwebアプリがチーム内にはないが、それに相当するものを自分のローカルで持ちたい人向けです。

具体的には、以前にはGitHubを使っていたプロジェクトにいたが、今はそういった類を使っていないプロジェクトで、それを使うように方針転換できる立場にない人とかです。

つまるところ、チームへの導入が難しくても、自分だけでもリポジトリから効率よく情報を得たいときの代替手段です。

GitBlitとは?

gitサーバや、リポジトリの管理・ブラウジングを提供できるオープンソースのjavaアプリです。

Gitblit GOでは、jettyつきなので、apacheなどのwebサーバを用意しなくとも単体で動かせるようになっています。

windowsのサービス化するための手順もあるので、javaがあれば比較的導入しやすいものです。

インストール手順

細かい手順は公式サイトを参照。
http://gitblit.com/setup_go.html

  1. 公式サイトよりzipをダウンロード
  2. C:直下で展開
  3. data/gitblit.properties でポート番号、SSL証明書のパスフレーズを指定
  4. authority.cmd でSSL証明書を作成
  5. installService.cmdの --StartParams--storePassword;` の値を3のものに書き換える
  6. installService.cmdを実行

windowsのサービス化までできます。これでマシンの起動時に、自動でたちあがってくれるようになります。

ポート番号を8888としていたら、localhost:8888にアクセスすれば表示されます。

公式サイトのスクリーンショット もどうぞ。

リポジトリのサマリ画面はこんな感じです。
alt

コミットdiffもわりと見やすいです。
alt

リポジトリのミラーリング

Gitblitをgitサーバとして使うわけではないので、チームで使っているgitサーバをミラーリングすることで、Gitblitから見られるようにします。定期的にfetchする形でのミラーリングなので、即時反映にならないのはあきらめましょう。(自分の都合で勝手にやっているのだからしょうがない...)

詳細の手順は公式サイトを参照してください。
http://gitblit.com/setup_mirrors.html

概略としては

  1. data/git/以下に、 git clone --mirror <repository_url> でミラーとしてクローン
  2. data/gitblit.properties で、 git.enableMirroring = true としてミラーリングを有効化
  3. git.mirrorPeriod = 30 mins で、同期する間隔を指定

使ってみての感想

GitHubや他のものに比べると、UIはすこし古いかなという印象はありますが、リポジトリブラウジングとしての機能はほぼ同等という印象です。

たとえば、git blameをして、特定の行のコミットのdiffを見るといったことも、ある程度シームレスにできます。

alt

リポジトリのサマリ画面ではdevelopをデフォルトにして、ちょくちょく見て、どういったのがdevelopブランチにコミットされるのかをゆるく監視したりできます。

コミットdiffもみやすいので、それをみながらレビューするとやりやすいです。

参考サイト

17
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
17