トップ «前日 最新 翌日» 編集
RSS feed

ただのにっき


2011-04-22(金) [長年日記]

gitoliteを入れてみた(on Debian 6.0 squeeze)

最近、仕事でメンテしてるサイトに標準でjQueryが入ったせいか、JavaScriptを書く仕事が急に増えた。つーかおれ、このプロジェクトでは別にプログラマってわけじゃないんだけど(笑)。

で、チョロっと書くつもりだったスクリプトが思わず大きくなってしまい、「これはバージョン管理しないとまずいだろ」という感じになったので、開発環境にgitを入れようかと(泥縄にもほどがある)。後々のことを考えてリポジトリ管理ツール経由でいれておこうと思い、いまイケてるツールは何か(Twitterで)聞いてみたらgitoliteを勧められた。gitosisはもうイケてないらしい。流れの早い業界だなー。

そして開発サーバがDebian lennyだったのでまずはsqueezeにあげるところから始まり(squeezeにはgitoliteのパッケージがある)、gitoliteにたどり着いた時にはすでに夜もとっぷり暮れていたのだった。とほほ。とりあえず使えるようにはなったので、メモだけ書いておいて残りは来週やろう。

まずはインストール:

% sudo aptitude install gitolite

メッセージには「/var/lib/gitolite」がどうのこうのと出ているが、中身は空っぽである。これはDebian流儀があるなと思い、/usr/share/doc/gitoliteの下をざっと見て、dpkg-reconfigureが必要らしいとわかる:

% sudo dpkg-reconfigure gitolite

質問に答えていくと、/var/lib/gitoliteの下にデフォルトのリポジトリやら認証用公開鍵の置き場所ができている(admin用の公開鍵を指定する場所では、とりあえず自分のssh公開鍵(id_dsa.pubとか)を指定しておけばいいだろう)。あとは英語のドキュメントを読んでもいいし、日本語なら「gitoliteでGitリポジトリへのSSHアクセスを制御する」あたりを参考にいじればよさそう。

とりあえず管理用リポジトリを取得して:

% git clone gitolite@localhost:gitolite-admin
% cd gitolite-admin

conf/gitolite.confに試しに新しいリポジトリ(newrepo)を追加:

        repo newrepo
                RW+ =  @all

commit & pushすると、/var/lib/gitolite/repositories/newrepo.gitができている。ほほぅ。つまり、sshを介することであらゆるアクセスはgitoliteユーザによるものになって、パーミッションまわりのめんどくささを迂回してるんだな。アクセス制限はgitolite自身がやると。なるほど。

あとはこれを普通にcloneして、普通のgitと同じように使えばよろしい:

% git clone gitolite@localhost:newrepo
% cd newrepo

うん、こりゃひとりで使ってもラクチンでいいな!

Tags: git

トップ «前日 最新 翌日» 編集
RSS feed