でも、大人数でリポジトリを扱ったり、いくつものプロジェクトを扱うと、アクセス管理が大変です。
アクセス管理を柔軟におこない、リポジトリの追加も簡単なgitosisを使いましょう。
gitsisはgitの管理ツールです。gitosisを使えば、
- サーバにログインすることなくリポジトリの追加ができる
- 読み取り専用などユーザーごとに細かいアクセス管理ができる
- 設定ファイル自体もgitで管理されているので、万が一のことが起きても戻せる
それでは、Ubuntu 10.04にインストールしてみましょう。
$ sudo apt-get install gitosis
gitosisのイニシャライズをします。SSH_KEY.pubは管理者の公開鍵を指定してください。
$ sudo -H -u gitosis gitosis-init < SSH_KEY.pub
Initialized empty Git repository in /srv/gitosis/repositories/gitosis-admin.git/
Reinitialized existing Git repository in /srv/gitosis/repositories/gitosis-admin.git/
外部からこんな感じでsshの応答があれば成功しています。
$ ssh [email protected]
PTY allocation request failed on channel 0
gitosisの設定ファイルをcloneできるので、手元にcloneしてgitosisの設定をしましょう。
$ git clone [email protected]:gitosis-admin.git
$ cd gitosis-admin
gitosis-adminというリポジトリはgitosisの設定を管理しているリポジトリです。
gitosis-admin
├── gitosis.conf # gitosisの設定ファイル
└── keydir
└── hirocaster.pub # ユーザー名.pub 各ユーザーの公開鍵
それでは、gitosis.confに新しいリポジトリを追加してみます。
[gitosis]
[group gitosis-admin]
writable = gitosis-admin
members = hirocaster # 管理者を追加する場合はここに追加
[group developer]
writable = twitterbotA twitterbotB # 2つの新しいリポジトリを追加
readonly = masason # masason は読取専用
members = hirocaster matz # hirocasterとmatzは書込許可
設定ファイルと追加したユーザーの公開鍵を含めてコミットします。
$ git add ./gitosis.conf
$ git add ./keydir/masason.pub ./keydir/matz.pub
$ git commit -m "2つの新しいリポジトリと2名のユーザーを追加"
$ git push
では、twitterbotAリポジトリに書き込んでみましょう。
$ mkdir twitterbotA
$ cd twitterbotA
$ git init
$ git remote add origin [email protected]:twitterbotA.git
$ touch README
$ git add README
$ git commit -m "first commit"
$ git push origin master
あとは通常通りgitのリモートリポジトリとして使えます。ちなみにcloneするならば以下のとおり。
$ git clone [email protected]:twitterbotA.git
gitweb
一緒にgitブラウザであるgitwebもインストールしていまいましょう。
$ apt-get install gitweb
/etc/gitweb.conf
設定ファイルを以下のように変更。
#$projectroot = "/var/cache/git";
$projectroot = "/srv/gitosis/repositories";
http://example.hiroki.jp/gitweb/にアクセスすればリポジトリが閲覧できます。
/etc/apache2/conf.d/gitwebがapacheの設定ファイルなので、お好みに修正してください。
これで、いくつものリポジトリを簡単に追加して、大人数でのアクセス管理も可能です。
いちいちサーバのアカウントがなくても追加できるので、大助かりです。
2011年もみんなでガンガンgitで開発しましょう。
以上のようなかゆいところに手が届くgitの参考書はこちら。
濱野 純(Junio C Hamano)¥ 2,310
|
gitメンテナーの濱野さんが書いた書籍。はじめてのGitってよりGitマスター入門書って感じ。ほんと、おすすめ。これだけあればどうにかなるのが現実。