Furyu
[フリュー公式]

Tech Blog

フリュー株式会社の技術ブログです

2015年01月8日

kunihira

GitBucketでコードレビュー

GitBucketGit

明けましておめでとうございます。国平です。 久々の投稿となってしまいましたが、今年も元気に開発して、たまったノウハウをこのブログに投稿していこうと思います。

今回は、以前ご紹介したGitBucketに、みんなが渇望していた あの機能 が追加されて、嬉しさのあまりブログ記事にしてしまいました。

GitBucketのおさらい

  • GitBucketは@takezoen さんが開発してOSSとして公開されているGitHubクローンのWebアプリです
  • Scalaで書かれていて、単体のjarでも実行できるので、お試し導入が非常にしやすいというメリットがあります
  • GitHubのクローンなので、GitHubでできることは大体できます
  • ただ、version2.6までは、コミットに対してコメントする機能がありませんでした

というのが、GitBucketの主な特徴でした。 なので、社内で利用するのに最適なGitHubクローンと言えます。

ついに登場したコメント機能

つい先日、2014年12月29日にGitBucketの最新バージョン2.7がリリースされました。 @takezoenさんのブログでも目玉機能として紹介されていますが、 ついに、コミットおよびdiffへコメントを付与する機能が追加されました。

これによって、ついにGitBucket上でプルリクエストをコードレビューしてマージすることができるようになりました。

さっそく使ってみる

早速、GitBucket内のリポジトリで管理しているドキュメントをちょっと修正してプルリクエストを出してみました。 ご覧のとおりプルリクエストの画面にコメントが一覧表示されています。

PullRequest


このうち、一番下のコメントは、

InLineComment

コミットのDiff表示内にインラインで投稿したコメントでしたー


ということで、完璧です。完璧すぎます。

まとめ

というわけで、ついにGitBucketにコメント機能が追加されました。 これで、社内OSSが活性化すること間違いなしです。(ほんとか?)

GitBucketを導入されている方は早急なアップデートを、導入検討中の方は早急な導入をオススメします。 特に、既にGitBucketを導入されている方は、 MarkDownに関するセキュリティ問題の修正が含まれているそうなので、早めにアップデートした方が良さそうです。

今回のバージョンのその他の内容については、Issueの一覧にまとまっています。

おまけ

コメント機能の中身

以前は、GitBucketにコメント機能を追加するには、かなりJavaScriptでがんばる感じになるんだろうと思っていました。 実際、@takezoenさんも2.7のリリース記事内で

と、jsについて言及されています。

しかし、コメント機能のコミットを見ると、意外とJavaScriptの変更は少なかったです。

GitBucketインストールのAnsible化

インラインコメントの画像に書いてますが、GitBucketのインストール/アップデートをPlaybookにまとめようと思います。 最近、ScalaよりAnsibleのPlaybookを書いてる時間の方が多いので、勢いに任せてやってしまって、いずれここでご報告しようと思います。 (ひょっとしたらもう誰か公開されてるかもしれませんが、勉強のため自作します)

関連記事


2014年06月10日

kunihira

GitBucketで社内OSSしませんか

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クローンです。 これを利用して、社内ツールの開発を活性化させて、快適な仕事環境を整えましょう。