OSのパッケージ経由から入れない場合のメモ。ちゃんとした手順はgitolite で Git リポジトリへの SSH アクセスを制御するを読めば事足ります。ここに書いておくのは、自分の環境にあわせた差分メモみたいなものです。
gitoliteユーザを作ってから、こいつのシェル設定ファイルでPATHを通しておく。EDITORはお好みで。
export PATH="${HOME}/bin:${PATH}" export EDITOR="vim"
gitoliteにスイッチしてインストール。
$ cat /home/myuser/.ssh/identity.pub >> ~/.ssh/gitolite-admin.pub $ git clone git://github.com/sitaramc/gitolite $ cd gitolite $ src/gl-system-install $ gl-setup ~/.ssh/gitolite-admin.pub (EDITOR起動)
いつものmyuserで管理用リポジトリをclone
$ git clone gitolite@gitolite-server:gitolite-admin $ cd gitolite-admin
他のユーザ追加、リポジトリにアクセスできるよう設定。
repo sandbox RW+ = user1 user2
$ git add keydir/user1.pub keydir/user2.pub $ git commit -m 'add uesrs.' $ git push origin master (自動でbareリポジトリ作成)
パッケージ管理システムから入れられないレガシーなUNIX環境でも簡単に導入できますね。インストールスクリプトはPerlだし、GitとOpenSSHだけあれば動かせるので、依存が少なくて助かります。
これまで手でbareリポジトリをinitしていたため権限設定が面倒だったのですが、これを使うと、ほとんどgitoliteユーザを介した操作になって抽象化されていることを意識しなくて済む上に、/home/gitoliteの外は環境が汚れないので良い感じ。
/home/gitoliteといえば、ユーザ追加の際に1234みたいな自動採番されたUIDを使ってしまったので、後で振り直しました。gitoliteのUIDを変更してから、ファイル所有者も改めてgitoliteで上書き。
$ sudo find /home/gitolite -user 1234 -exec sudo chown -h gitolite:gitolite {} \;
最近のツッコミ
参号館 日記(ariyasacca)