Home > Server Admin | Tech > gitosis をインストール

gitosis をインストール

仕事場では昨年から git を使っています。svn と比べていろんな利点があるとは思いますが、スピードが僕には捨てがたいです。というわけで自分用の git サーバーを立てたいのですが、管理を全て、というのはちょっと面倒くさいし… そこで gitosis という管理ツール群を見つけました。

日本語で書かれたものとして openbooth さんの gitosis – Git リポジトリ群の管理とアクセス制御 vol.1が非常によく纏まっています。僕は Install (Set Up) Git and Gitosis on Ubuntu を参考にしました。

解説は上に上げたページを参考にしてもらうとして僕が少しハマったところを解説します。

  • sudo python setup.py installgitosis-init, gitosis-run-hook, gitosis-serve を /usr/bin 以下にセットアップする
  • gitosis-init は実行したユーザのホームディレクトリに repositories ディレクトリなどを勝手に作ってくれる
  • sudo chmod u+x /var/git/repositories/gitosis-admin.git/hooks/post-update は絶対にする。逆に他の hooks script は +x である必要はない
  • クライアント側でする最初のタスクは、git 開発の手順通り、git clone ssh://GIT_USER_NAME@YOUR.HOST.NAME/gitosis-admin.git git clone の url がわからなかったらマニュアル参照: git-clone(1) 僕は ssh に 22 を使っていないので、git clone ssh://GIT_USER_NAME@YOUR.HOST.NAME:PORT_NUM/gitosis-admin.git のようになりました。
  • gitosis.conf を編集して、新しいレポジトリを作る時、writable にするのを忘れない。そして keyfiles に ユーザの ssh public key を追加するのを忘れない。
  • 一番最初に 新しい repository を追加する前に、僕のように ssh:22 で無い人は、client 側の ssh_config に、
    Host YOUR.HOST.NAME
    Port PORT
    IdentityFile ~/.ssh/id_rsa
    Protocol 2

    を追加しておく必要あり。そうしないと git remote add origin GIT_USER_NAME@YOUR.HOST.NAME:PROJECT_NAME.git が実行できない

あと、エラーがでて git push が成功しなくても、サーバにログインして fix しちゃダメだよね。このツールはサーバに git を使って git を管理できるってのが売りだし。おそらく次回は commit hook の設定の仕方かな?

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.nydd.org/2010/01/gitosis%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab/trackback/
Listed below are links to weblogs that reference
gitosis をインストール from Vantage Point of Queens

Home > Server Admin | Tech > gitosis をインストール

Search
Feeds
Meta
Links
Ads!

Return to page top