共同で開発をする際にGitを用いて、バージョン管理がしたい。だけど、訳あってソースコードは公開できない。できれば無料でなんとかしたい。という状況になりました。そこで、ローカルの環境にGitサーバーを構築しました。
既存のサービスの比較
- GitHub (外部サービス)
- とても使いやすい, キャラが可愛い
- プライベートリポジトリ有料
- BitBucket (外部サービス)
- プライベートを作れるけど、メンバーが 5ライセンスまで
- 使い慣れてない…
- GitLab (ローカル)
- 企業が開発してるから、サポートがちょっと安心
- 重い(らしい) UIがあまり好きじゃない
- GitBucket (ローカル)
- GitHubみたいで使いやすい
- 個人開発なため、サポートがちょっと不安
(※この比較はあくまで個人の意見です。参考程度でお願いします。)
そこで、最近ホットなGitBucketを構築してみました。
環境
- Ubuntu Server 14.04 LTS (64bit)
- GitBucket 3.2
- java8 (java-8-oracle)
練習環境として、MacBookのVirtualBox上にUbuntuをインストールしています。
インストール
Java8
GitBucketはjavaで動いているので、現状の最新版であるjava8をインストール。
参考サイト
UbuntuにJava8環境構築 | Qiita
[http://qiita.com/ayihis@github/items/01f95d5d465168043ae3]
Ubuntu 14.04にはjava8のリポジトリを追加してから、インストール。
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer
PCスペックのせいか、ダウンロード含めて多少時間がかかりました。(5分ぐらい?)
参考サイトには、パッケージの設定という画面がでてきたようですが、特になにもなく普通にインストールが完了しました。
which java --> /usr/bin/java # これだと、実行する時のパスしかわからない。 java -version --> java version "1.8.0_45" --> Java(TM) SE Runtime Environment (build 1.8.0_45-b14) --> Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) sudo update-java-alternatives -l --> java-7-oracle 2 /usr/lib/jvm/java-7-oracle --> java-8-oracle 1 /usr/lib/jvm/java-8-oracle # 複数のバージョンがインストールされていると複数表示される
GitBucket
GitBucketのGitHubページ
[https://github.com/takezoe/gitbucket]
GitBucketの実行方法には2種類あって、①”必要なものをすべて自分で用意してその環境で動作させる”方法と、②”.warに必要なものがすべてまとめられていてそれを実行する”方法があります。ここで、今回は②の方法を用いて、環境を構築しました。
GitHubにあるGitBucketのreleaseページから、最新バージョン3.2のgitbucket.warをダウンロードしてきました。
[https://github.com/takezoe/gitbucket/releases]
wget https://github.com/takezoe/gitbucket/releases/download/3.2/gitbucket.war
そして、これを実行します。実行時のオプションとして
–port=[NUMBER] –prefix=[CONTEXTPATH] –host=[HOSTNAME] –gitbucket.home=[DATA_DIR]
が利用できるそうです。なにも設定しないで実行した場合には、ポートは8080で~/.gitbucket/ 以下にいろいろなファイルが生成されます。
java -jar gitbucket.war[https://(IPアドレス):8080/]にアクセスしてみると…
わぉ。GitBucketが構築できている…。。。すげぇぇ
初期設定では、rootユーザーにパスワードがrootでログインできます。ログイン後に右上の設定からアカウントを追加できます。その他の使い方については、ほどんどGitHubと同じなので、使ってみればわかると思います。
GitBucketの画像
javaバージョンの切り替え
2つ以上のjavaのバージョンを切り替えて利用したい時はalternativesというコマンドを利用すると、便利です。
参考サイト
UbuntuにJava8をいれた (define -ayalog ‘())| HatenaBlog
[http://ayato.hateblo.jp/entry/20140307/1394161015]# バージョンの一覧を見る sudo update-java-alternatives -l --> java-7-oracle 2 /usr/lib/jvm/java-7-oracle --> java-8-oracle 1 /usr/lib/jvm/java-8-oracle # バージョンの切り替え sudo update-java-alternatives -s java-7-oracle
最初にupdate-alternativesに登録?してjavaのバージョンを管理するという記事をみていたのですが、javaに関してはupdate-java-alternativesを利用したほうが便利そうです。
ちなみに、gitbucket3.2はjava7でもjava8でも動作しました。
まとめ
GitBucketを使ってみた感想として、「むっちゃGitHubだな」って思いました。想像以上にGitHubです。UIもものすごく使いやすいです。ただ、まだ少々バグがあるようです。
個人開発なので、サポートがちょっと不安ですが…プライベートリポジトリを作り放題!
とても便利なので、ぜひ今後もバージョンアップしていっていただきたいと思います。
開発者のtototoshi様ありがとうございます。
訂正:
javaバージョン切り替え 付近
altiernatives -> alternatives
誤字を訂正しました。
altiernativesってコマンドの綴りが事故ってますね!
altiernativesでyahoo!検索したら一番上に出てきました!
ご指摘ありがとうございます。間違えていました。 訂正しました。