GitBucketGit

皆様こんにちは。
季節の変わり目で夏風邪を引いてしまった国平です。
暑いからといって布団もかけずに扇風機つけっぱなしで寝て、 明け方に体を冷やしてしまいました。
皆様もご注意ください。

さて、今回は社内勉強会でGitBucketについてお話させていただいたので、 その内容を投稿させていただきます。

発表の目的

社内サーバにGitBucketを導入してしばらく一人で使っていたのですが、 問題なく利用できそうで、せっかくPullRequestやIssueなどの機能があるので、 もっと大勢で使いたいと思い、周知のために発表しました。

GitBucketとは

GitBucket@takezoen さんが開発してOSSとして公開されているGitHubクローンのWebアプリです。 Scalaで書かれていて、単体のjarでも実行できるので、お試し導入が非常にしやすいというメリットがあります。

もともと、お手軽に導入できるツールだったのですが、ここ最近、ブログやQiitaなどに記事が増えてきていて、情報も充実してきています。

参考

導入の経緯

フリューでは元々は普段の業務にSVNサーバを社内に立てて使っていたのですが、 2年ほど前からGitHubを使うようになりました。

それで社内にも自由に使えるGitリポジトリをホスティングしたかったのですが、 WindowsのGitクライアントであるmsysGitがgitプロトコルに未対応だったので、 Webフロントエンドを持っていてhttpプロトコルで利用できるGitBucketを導入しました。

勉強会の内容

要約すると、

  1. Gitいいよ、Git
  2. SocialCodingいいよ、SocialCoding
  3. でも、GitHubもBitBucketもちょっと社内ツールとか書き貯めるには制限が…
  4. そこでGitBucket!!
  5. いろいろリポジトリ作って上げてるので、プルリクください!

という感じです。

発表資料

発表資料はこちら↓

GitBucketで社内OSSしませんか? from Kiyotaka Kunihira

発表後の質疑

発表後にもらった質疑とその回答(加筆あり)をまとめます。

Q. GitHubでできてGitBucketでできないことはあるか?

A. 何点かあって、まずコミットに対してコメントをするレビュー機能が無いです。 これは、発表資料中にもあるソーシャルコーディングの機能の一つなのですが、Issueは上がっていて、対応予定はあるみたいです。

次に、コミットグラフの機能が無いです。これについてもIssueは上がっています。 とりあえず、下記のコマンドでCUI上でもグラフ表示することもできるので、問題にはならないと思います。

あと、GitHubはCircleCIとかいろいろ外部サービスと連携できる機能がありますが、 GitBucketはPushされたタイミングで、特定のURLを叩くだけになります。 とはいえ、社内ユースでJenkinsと連動させるなら十分だと思います。

Q. 同様のOSSにGitLabがあるけど、そっちは使わないの?

A. 昔、GitLabも検討したことがありますが、インストールが面倒で投げ出しました。 今は、rpmが公開されて導入が簡単になったみたいですが、すでにGitBucketインストール済みなので、試してないです。 あと、個人的にScalaを応援する意味でGitLab押しです。

Q. 会社のプロキシのせいでGit使いづらいんだけど…

A. こちらの方が素晴らしいツールを開発してくれてます。 git-proxy-clone Clone時はコレを使うと便利です。

すでにローカルにgitリポジトリがある場合は、 .git/config を修正したらOKです。 プロキシ経由したくない場合、下記みたいにしとけばプロキシを通らずにすみます。

プロキシを経由させたい場合は、Qiita / GitでProxyの設定を参考に、 local の設定を変更してもらったらいいと思います。

まとめ

GitBucketは導入が簡単で、社内で利用するのに最適なGitHubクローンです。 これを利用して、社内ツールの開発を活性化させて、快適な仕事環境を整えましょう。