Git
GitBucket

GitBucketをMacOSXMavericksにインストール

More than 3 years have passed since last update.


GitBucketとは


  • GitHubのクローン

  • 自前のサーバにインストール出来る

  • 開発者が日本人

  • Scalaで開発されている。

要するに自前サーバにGitHubっぽいものを立てて使える。

GitHubを使いたいけど予算が降りない。なんてときに自社のローカルネットワーク上にGitHubを置く。なんてことが出来たりする。


環境


  • iMac 8.1

  • MacOS 10.9.2

  • Java 1.6.0_65

今回はローカルにインストールしてみます。


インストール

Homebrewでインストール出来ます。

Homebrewがなければ先にインストールしてください。

参考:http://qiita.com/yoshi-naoyuki/items/503338f0b975a3b43f18

$ brew install gitbucket

↓メッセージが出ます

Note: When using launchctl the port will be 8080.

To have launchd start gitbucket at login:
ln -sfv /usr/local/opt/gitbucket/*.plist ~/Library/LaunchAgents
Then to load gitbucket now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.gitbucket.plist
Or, if you don't want/need launchctl, you can just run:
java -jar /usr/local/opt/gitbucket/libexec/gitbucket.war
==> Summary
/usr/local/Cellar/gitbucket/1.10: 3 files, 42M, built in 11 seconds

指示通りにコマンドを打ちます

$ ln -sfv /usr/local/opt/gitbucket/*.plist ~/Library/LaunchAgents

$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.gitbucket.plist

自動起動するはずなので再起動。

ブラウザからlocalhost:8080へアクセスすると503エラー

な ぜ だ

とりあえず手動で起動

$ java -jar /usr/local/opt/gitbucket/libexec/gitbucket.war

これもエラー。8080番ポートで何か動いているらしいので探してkill、もう一度起動し、ブラウザを更新

$ lsof -i:8080

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 448 mono 94u IPv6 0xf882743e2c9c7831 0t0 TCP *:http-alt (LISTEN)

$ kill -15 448

$ java -jar /usr/local/opt/gitbucket/libexec/gitbucket.war

動いた。となると怪しいのはplistなので開いてみる。

$ vim ~/Library/LaunchAgents/homebrew.mxcl.gitbucket.plist

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>gitbucket</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-Dmail.smtp.starttls.enable=true</string>
<string>-jar</string>
<string>/usr/local/opt/gitbucket/libexec/gitbucket.war</string>
<string>--host=127.0.0.1</string>
<string>--port=8080</string>
<string>--https=true</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

launchd.plistのリファレンスとにらめっこしつつ見ると、どうやら色々と起動時にオプションが付いている模様。

なのでいらないものを消す。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>gitbucket</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-jar</string>
<string>/usr/local/opt/gitbucket/libexec/gitbucket.war</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

保存して再起動すると動いた!

これ以外のオプションは確認してませんが、<string>-Dmail.smtp.starttls.enable=true</string>は消すとメール機能に影響が出る気がするし、ローカルネットワークならまだしも、公開しているサーバで使いたい場合は <string>--https=true</string>も消すとまずい気がします。

追記:--https=trueオプションは無効になっているので外しても問題ないようです。

動かない原因は何だったのだろう?Javaのバージョンのせいな気がしなくもないですが動けばいいので今回はここまで。