GitLabにGitoliteが必要なくなるよ いいことばかりじゃないけど

by @dekokun on 2013/02/19 23:28

Tagged as: GitLab, git.

プライベートGitHubが構築できる(Amazon Linux AMIにGit + Gitolite + Gitlabをインストールして、プライベートGitHubを構築する)などとして絶賛話題沸騰中、「貧者のGItHub Enterprize」であるところのGitLabですが、次のメジャーバージョンアップでGitoliteが不要になるという大ニュースが数日前に発表されたにもかかわらず、日本語の情報が全くないのでそれではわたくしめがと思いましてブログを執筆させていただく次第です。 あ、あと、私事で恐縮ですが今度結婚することになりました。

はじめに

皆さん、Amazon Linux AMIにGit + Gitolite + Gitlabをインストールして、プライベートGitHubを構築するを読んで「GitLabの構築はなんと面倒くさいんだ」とは思いませんでしたか(実際のところ、例えば他のGitHubクローンであるところのGitoriousの構築のほうがもっと大変らしいですが)。 Ruby製のGitLabをインストールするにはPerl製のGitolite環境が必要だなんてなんて面倒極まりないですね。

しかし、会社の先輩から「GitLab 5.0からGitolite使わなくなるらしいっすよ」と聞いてGitLab Blogを見ましたら、確かに「Yeap GitLab 5.0 will be without gitolite」(訳:GitLab 5.0からGitoliteいらなくなるよ)と書いてあるではないですか。

以下、GitLab Blogの重要な部分を訳していきます。

Gitoliteを使用したGitLabのこれまでの問題

これまでのGitoliteを使用したGitLabの問題は以下のとおりだそうです。

  • GitLabとGitoliteで不整合起きちゃうよ
  • リポジトリ数が増えてくるとGitoliteは遅くなるよ
  • GitLabをセットアップするのに2ユーザ(GitoliteのユーザとGitLabのユーザ)が必要で面倒だよね
  • GitoLiteのせいでコードが複雑になって簡単にミスをするようになってるよ
  • Gitoliteはリポジトリやキーの作成をサポートしてくれないよ

解決法

というわけで、GitLabの代わりにGitLab Shellなるものを使用することにしたそうです。

これにより上記の不満点は解消するとのこと。 ついでに、GitLab Shellはgit pullするだけでGitLabの再起動なしでアップデートできて簡単だよとのこと。

Gitolite廃止に対する海外の反応

かなり雑に紹介します

  • GitLab ShellはGitLabが動いてないと動かないんだよね?パッチあてたりでGitLabが一時的にダウンする時でもGitoliteの時はリポジトリにはアクセスできてたのにできなくなるのかー。
    • そうそう!これでメンテナンスが難しくなるよね!GitLabを止めることにしてもGitoliteによってリポジトリサービスを提供できるからGitLabを選んだというのも大きいというのに!
    • その他、Gitoliteからの脱却に反対がいくつか。「他のサービスを使うことを考え始めるよ」という意見も
    • GitLagのメンテナさんの回答:GitLab ShellはGitLabがないと動かないよ!よりよい安定性とパフォーマンスのためには仕方ないよね!

終わりに

私も職場でGitLabのメンテナンスしてますが、GitLabが動いてないときでもGitoliteによってリポジトリが使えるというのは魅力だったわけですし、なかなか難しいところですね。まぁ、「Gitoliteのコンフィグをパースするのに1000行のコードと1つのライブラリを使ってるけど、GitLab Shellなら150行で済むよ」っていうんだし、確かに今後の安定性を考えるとGitoliteからの決別も仕方ないのかなと思います。

この件、発表からすでに数日経ってますが日本語の反応が見当たらないってことは、日本人はあまり興味のない話題だったのかなー。

どうでもいいが、GitHub Enterprize欲しいです。

comments powered by Disqus