これは、gitoliteを使用している人にとってはかなり一般的なニーズであり、あまり上級のユーザーではない場合(少なくとも私にとっては)、ルーズエンドを結ぶのは少し難しいようです。
stackoverflowとgitoliteのリンクを前後にたどると、少し混乱する可能性があります。これらは私の結論であり、これを達成するために私がたどった道です。
@VonCが述べたように、バージョン3.5.3.1(github link)以降、リポジトリ固有のフックの作成はすでに可能です。
ジトライトの更新/アップグレード
最初にすべきことは、gitoliteリポジトリを更新することです。したがって、 gitolite/home/git/gitolite
をホストしているサーバーにSSHで接続し、gitユーザー(通常)としてgit
gitoliteがインストールされている場所(通常)に移動します。
例:
$ ssh myusername@devserver.com
$ sudo su - git
$ pwd
/home/git
$ cd gitolite
次に、 gitoliteをアップグレードする必要があります。そのためには、まず、gitoliteリポジトリを更新する必要があります
$ git pull
次に、インストールコマンドを繰り返す必要があります(前と同じ引数を使用していることを確認してください)
$ ./install
そして最後にセットアップを再度実行します。
$ gitolite setup
それが機能しない場合は、おそらくにgitolite実行可能ファイルを設定していないPATH
ので、次のようなことを行うことができます。
$ src/gitoliteセットアップ
Gitolite設定(「RC」ファイル)
これは私を最も混乱させた部分の1つでしたが、結局はかなり簡単でした。
有名な「rc」ファイルはgitのホームディレクトリにあり/home/git/.gitolite.rc
ます。と呼ばれる変数があることを確認してくださいLOCAL_CODE
。そのファイルに次のようなものが表示されるはずです。そうでない場合は、追加してください。
LOCAL_CODE => "$ENV{HOME}/.gitolite/local"
また、「有効にする機能のコマンド」セクションで、それrepo-specific-hooks
が使用可能であることを確認する必要があります。使用できない場合は、追加します。
ENABLE => [
# COMMANDS
# These are the commands enabled by default
'help',
'desc',
'info',
...,
...,
...,
'repo-specific-hooks'
...,
...,
...
]
ドキュメントへのリンクは次のとおりです
リポジトリ固有のフックの作成
最後に、ローカル gitolite-admin
リポジトリで、変数にhooks/repo-specific
設定したディレクトリの下に次のディレクトリを作成します。次に例を示します。LOCAL_CODE
gitolite_admin/local/hooks/repo-specific
その後、実際にフックスクリプトをその場所に追加し、ドキュメントに記載されているように、gitoliteconfファイルを介してそれらを管理できます。スクリプトが実行可能であることを確認してください。
repo foo
RW+ = @all
option hook.post-receive = deploy
繰り返しになりますが、これが皆さんのお役に立てば幸いです。
乾杯!