ec2のubuntu serverにgit gitosisをいれつつ、ローカルでは.ssh/configを設定
ubuntuサーバのamiはIndex of /releases/lucid/releaseで確認しておく。
とりあえず10.04 LTS Lucid Lynx を選択。
で本題のgit gitosisについて。
それぞれの入れ方はUbuntu 11.04 Gitサーバー(後編) | 書きかけの技術書+を読めば理解できる。
ec2のユーザでgitosis-initするのでその後の操作はec2上でやること。
gitosis-adminをcloneしてgitosis.confで
なり、http://progit.org/book/ja/ch4-7.htmlに書いてあるようにgroupだけの追加だけでもok。ちなみに私はgroupでやって2回ほどmenbersと書いてしまい、なぜうまくいかないかわからず途方に暮れたことがある。membersですよね。
さておき、taroというユーザを追加したとする。
すると(先ほどrepoはやったので)groupの場合は以下のようになる。
[group test]
writable = test_project
members = taro
これでgitosis.confとgitosis-admin/keydir/taro.pubをadd commit pushすればtaroはローカルでtestプロジェクトを作成してpushすることができる。
実際に
なんてやってみるとちゃんとつながって、コマンドがないよみたいなエラーが出る(Ubuntu 11.04 Gitサーバー(後編) | 書きかけの技術書+参照)。ここで.ssh/configを設定したくなるのが人情である。
ということでローカルで.ssh/configを作成し
以下のように設定する(参考~/.ssh/config で簡単に複数ホストへのSSH接続を管理する - すぱぶろ)
Host 適当な名前
HostName ec2-0-0-0-0.ap-northeast-1.compute.amazonaws.com
IdentityFIle ~/.ssh/id_rsa
User taro
実際に
mkdir test
cd test
git init
touch readme
git add readme
git commit readme
git remote origin gitosis@適当な名前:test.git
git push origin master
めでたしめでたし。