は、この種の問題のための1つの提案された解決策だったが、私は私の場合に適したアプリケーションを見つけることができませんでした。
はい、post-receive
フックが推奨されます。
インスタンスを参照してください "GIT post-receive checkout without root folder" という除き
、gitoliteで、あなたが今repo specific hookを持っています。それが既に存在し、コメントアウトかどう
見る「repo-specific hooks」
は、それがまだ存在しない場合は、%RC
ブロック内で、rc
ファイルに次の行を追加、またはそれをアンコメント:
LOCAL_CODE => "$rc{GL_ADMIN_BASE}/local",
を
rc
ファイルの 'repo-specific-hooks
'行のコメントを解除するか、存在しない場合はENABLE
リストに追加します。
ファイルにENABLE
のリストがない場合は、これをPOST_COMPILE
とPOST_CREATE
のリストに追加する必要があります。
Click hereこの詳細については、
put your hooks into your gitolite-admin clone, as follows:
# on your workstation
cd /path/to/your/gitolite-admin-clone
mkdir -p local/hooks/repo-specific
さて、 "RSS-post
" をそのディレクトリにあなたのフックを追加し、代わりにgitの "標準" 名(pre-receive
、post-receive
、post-update
)を使用して、あなたは説明的な名前(例えば "deploy
" を使用、など)。
あなたのconfファイルでアクティブにしたいreposにそれらを追加します。たとえば:
repo foo
option hook.post-update = jenkins
repo bar @baz
option hook.post-update = deploy RSS-post
追加、コミット、および管理者のレポを押してください。
これは非常に便利です!どこで/ var/www/html/reponameへのパスを定義するのですか? – Thodi
@Thodiあなたのフックスクリプトでは、https://stackoverflow.com/a/15930178/6309で表示されているように 'git --git-dir =/path/to/project_root/.git --work-tree =/path/to/website/httpdocs checkout -f':あなたが言及したパスで2番目のパスを置き換え、gitoliteによって管理される裸のrepoパスによって最初のパスを置き換えます。 – VonC