2011年8月23日火曜日

gitosisのインストール、設定やgitの使い方でつまずいたポイント

社内で構成管理ツールをSubversionからGitに移行しました。サーバ構成ツールとしてgitosisを使ったのですが色々と躓いたのでポイントを整理しておきます。

参考にしたURLはこちらです。


phython周りのパッケージのインストールでこける

phython系のライブラリが入っていないサーバだと色々パッケージを追加する必要があります。ここで時間がかかりそうだったのでyumにEPELリポジトリを追加してyumでインストールしました。

$ wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
$ rpm -ihv epel-release-5-4.noarch.rpm
$ yum install gitosis

ERROR:gitosis.serve.main:Repository read access deniedが発生

無事インストール、設定が完了したと思ったらエラーが発生。これはリポジトリ操作をトリガーとして動くプログラム群に実行権限がないことで発生することがあるエラーです。未設定であれば以下を追加。
$ sudo chmod 755 /var/lib/gitosis/repositories/gitosis-admin.git/hooks/post-update

上手く設定できないユーザが居る

ユーザによって上手くリポジトリにアクセスできないユーザがいました。また、該当ユーザに関して以下のようなエラーメッセージが出ます。
remote: WARNING:gitosis.ssh:Unsafe SSH username in keyfile: 'nooopes@nooo_pes.pub'
これはホスト名に「_(アンスコ)」が含まれていると発生します。なので、ホスト名に当たる箇所にはアンスコが含まれないようにPC名を変更するなどして登録すると解決します。

No refs in common and none specified; doing nothingが出る

リモートブランチにmasterが上手く作成されていない状態で git pushを実行すると発生します。
リモートブランチにmasterを作ってあげると成功します。
$ git push origin master

まとめ

インストールや設定で少しややこしいところはありますが、一度設定してしまえばSSH経由で簡単にGitサーバを使えるので是非使ってみてください。

0 件のコメント:

コメントを投稿