イマドキのIDE事情 第11回手軽に設置できるGitHubクローン「GitBucket」を使ってみよう
skill

イマドキのIDE事情 第11回
手軽に設置できるGitHubクローン「GitBucket」を使ってみよう

2014.09.04

オンラインのソフトウェア開発支援プラットフォームとして確固たる地位を築いたGitHubだが、有償のGitHub Enterpriseや、GitLabなどに代表されるオープンソースのプロダクトを導入することで同様のサービスをイントラネット内に構築することもできる。

今回紹介する[GitBucket]
(https://github.com/gitbucket/gitbucket)は、前述のGitLabに代表されるオープンソースのソフトウェア開発支援プラットフォームの1つでScalaで実装されており、Java(Java8以降が必要)さえインストールされていれば簡単に動作させることができる。また、TomcatやJettyなどのサーブレットコンテナにデプロイすることも可能だ。GitLabなどと比べると後発であるものの、主要な機能は一通り揃っている。
(竹添 直樹)

  • ● Gitリポジトリ(HTTP/SSHでのアクセスが可能)
  • ● Wikiによるドキュメント管理
  • ● イシューによる課題管理
  • ● プラグインによる拡張
  • ● プルリクエスト

■GitBucketのインストール

GitBucketのインストールは非常に簡単だ。[ダウンロードページ](https://github.com/gitbucket/gitbucket/releases)から最新のwarファイルをダウンロードし、コマンドラインから以下のように実行するだけで起動することができる(Javaは別途事前にインストールしておく必要がある)。

java -jar gitbucket.war

起動後、Webブラウザでhttp://localhost:8080/にアクセスすると、以下のような画面が表示されるはずだ。デフォルト状態ではユーザ名「root」、パスワード「root」で管理者としてログインできる。

サーブレットコンテナにデプロイする場合、例えばTomcatであれば(Servlet 3.0に対応している必要があるのでTomcat 7以降を使用する必要がある)、gitbucket.warをwebappディレクトリにコピーするだけでよい。この場合、URLは「http://localhost:8080/gitbucket」となる。

なお、GitBucketは新しいバージョンがリリースされた場合、一度停止し、warファイルを差し替えるだけでアップグレードが可能だ。また、GitBucketのデータは起動したユーザのホームディレクトリ配下の「.gitbucket」というディレクトリに格納されている。データのバックアップはGitBucketを停止した状態でこのディレクトリを丸ごとコピーしておけばよい。

なお、GitBucketはデフォルトではH2というJava向けの組み込みデータベースにデータを保存するが、外部データベースとしてMySQLもしくはPostgreSQLを使用することもできる。H2は障害時などにデータが破損する危険性があるため実務で使用するのであれば外部データベースの利用が推奨されている。設定方法については[こちら](https://github.com/gitbucket/gitbucket/wiki/External-database-configuration)を参照して欲しい。

■GitBucketの主な機能

GitBucketのユーザインタフェースはGitHubと似ており、リポジトリビューア、イシュー、Wiki、リポジトリのフォークやプルリクエストといった基本的な機能は、ほぼGitHubと同じように利用できる。

リポジトリビューア

イシュー

Wiki

プルリクエスト

リポジトリへのアクセスはHTTP、SSHをサポートしている。また、プライベートリポジトリ(許可したユーザしか参照することができないリポジトリ)を作成することもできるほか、チームでリポジトリを使用する場合のための「グループ機能」がある。グループ用に作成したリポジトリは当該のグループに登録されているユーザであれば誰でも読み書きが行え、メンバーを一人一人リポジトリに登録する手間を省くことができる。

デフォルトではユーザ登録は管理者のみ行うことができるが、設定を変更することで訪問者が自由にユーザ登録を行えるようにすることもできる。また、LDAP認証にも対応しているほか、管理画面でSMTPサーバの設定を行うことでイシューの登録時などに関連するユーザに対しメール通知を行うことも可能だ。

管理画面

■まとめ

GitBucketは手軽に導入でき、バージョンアップも容易だ。また、プラグイン機構を備えており、必要に応じて機能を拡張することができる。まだ数は少ないものの利用可能なプラグインが[gitbucket community plugins](http://gitbucket-plugins.github.io/)に掲載されているのでチェックしてみて欲しい。もちろんその気になれば自分でプラグインを実装することも可能だ。社内にGitHubのようなコード共有のためのインフラを設置してみたいという場合にはぜひGitBucketを試してみて欲しい。

原稿:竹添直樹
株式会社ビズリーチ所属。Scalaを愛するJVM系プログラマ。業務の傍らOSS開発や執筆活動を行っている。
https://twitter.com/takezoen

この記事はどうでしたか?

おすすめの記事

キャリアを考える

BACK TO TOP ∧

FOLLOW