4

gitlab-shellpost-receiveフックの内容によると、非推奨です。

#!/usr/bin/env ruby

# This file was placed here by GitLab.
# IT IS DEPRECATED NOW.
# All GitLab logic handled by update hook

しかし、Gitlab 固有のロジックのみ、または一般的には? 私は、リポジトリを更新するchiliproject post-receiveフックなどにまだ使用できるはずです。残念ながら、主に gitlab v5 での gitolite <> gitlab-shell 移行が原因で、この点に関して具体的なものを見つけることができませんでした。誰かがこれに光を当ててくれることを願っています…</p>

[編集]

post-receiveフックは、v1.7.1 の gitlab-shell から削除されました。したがって、正しい方法は、Web フックを作成するか、更新フックを慎重に変更するか、カスタム フック サポートが実装されるまで gitlab-shell の開発をより注意深く監視することです。;-)

4

1 に答える 1

4

更新 2014:

Ciro Santilliは、コメントと " Custom post-receive file using GitLab " で、現在 (GitLab は gitolite を使用していません)カスタム フックをセットアップする方法があることを指摘しています(GitLab 7.5.0+、2014 年 11 月)。

  1. カスタム git フックが必要なプロジェクトを選択します。
  2. GitLab サーバーで、プロジェクトのリポジトリ ディレクトリに移動します。
    手動インストールの場合、パスは通常/home/git/repositories/<group>/<project>.git.
    Omnibus インストールの場合、パスは通常/var/opt/gitlab/git-data/repositories/<group>/<project>.git.
  3. この場所に という新しいディレクトリを作成しますcustom_hooks
  4. ディレクトリ内にcustom_hooks、フック タイプに一致する名前のファイルを作成します。フックの場合、ファイル名
    には拡張子を付けないでください。pre-receivepre-receive
  5. フック ファイルを実行可能にして、それが git によって所有されていることを確認します。
  6. git フックが期待どおりに機能するようにコードを記述します。フックは任意の言語にすることができます。上部の「シバン」が言語タイプを正しく反映していることを確認してください。
    たとえば、スクリプトが Ruby の場合、シバンはおそらく#!/usr/bin/env ruby.

元の回答 (2013 年 4 月)

これは、 を使用せず、GitLab5.xgitoliteに置き換えた直接的な結果です。gitlab-shell

そのため、カスタム更新フックの許可について gitlab-shellIssue 14があります。

今のところ、Gitlab サーバー上の各リポジトリにそのフックを自分で登録するように追加しますが、これはあまり便利ではありません。

于 2013-04-27T20:41:27.230 に答える