2012-07-08 11 views
5

私はGitHub Enterprise(11.10.272)のインスタンスを起動し、リポジトリを作成しました。 Rubyにそのレポジトリで使用したいプレ受信フックを書いています。GitHub Enterpriseレポにカスタムgitフックを追加するにはどうしたらいいですか?

GitHub Enterpriseは、通常のGitHubと同様に、サービスフックの設定を可能にします。私はSSHを使ってGitHub Enterpriseサーバーにフックファイルを作成しようとしましたが、repoディレクトリが見つかりませんでした。さらに、GitHub Enterpriseの用語はVMの変更を禁じているので、これは素晴らしいアプローチだとは確信していません。

GitHub:FIサポートフックのようです。現在のFIからエンタープライズへの移行ツールの現行バージョンは、現在Migrating from GitHub:FIに従ったフックをサポートしていません。

+0

ベン、私にあなたの前受けルビーフックを教えてもらえますか? githubでpre-receiveフックを持っていることを計画していますが、私はルビーについては考えていません。ちょうど例を見たいと思っていました。 –

答えて

3

は、事前に受信フックが月2013年

のようGitHubの企業のためにサポートされていません。私たちは、GHEボックスの管理者アクセス権を持っていないので、我々はできませんでした私たちが望むならば、これを "修正"してください。

彼らは、あなたがコミットを拒否することができれば、彼らがしていることが壊れると主張します。私はプルリクエストの自動マージのようなものを意味すると思いますが、わかりません。

コミット後の機能のために使用できる広範なポストコミットWebhookがあります。

私は「パススルーgitサーバー」を構築しようとしています - 基本的に、GHE APIを頻繁にポーリングして特定のGHEアカウントに存在するリポジトリのローカルクローンを作成し、カスタムで自動クローンします受信前と受信後のフックがあります。これにより、パススルーサーバーからクローンを削除し、事前受信フックを行い、承認された変更をGHEにプッシュすることができます。 gitのための標準的なパススルーサーバーはまだありません。これはおそらく、標準的なgit APIを持っていないような、どのreposを複製するのかを知る必要があるからです。

2

GitHub Enterpriseは再現を/data/repositoriesに保存しているようです。各リポジトリには、テンプレートによって生成されたフックがあります。私はこれらのフックを修正することができますが、それは確かに何かを破るだろう。テンプレートフックは別の場所でフックを探すように見えますが、その場所はconfigで定義されており、見つけられません。 GitHubの顧客サポートと私の電子メールに基づいて

5

これは本当に古いことがわかりましたが、GitHub Enterprise 2.6は、単に受信前のフックで出てきました。詳細については、https://help.github.com/enterprise/admin/guides/developer-workflow/using-pre-receive-hooks-to-enforce-policy/をご覧ください。

私はかなりこれがあなたが探しているものと完全に一致すると確信しています。うまくいけば、これはOP、またはこれを後でつまずく誰かに役立ちます!

関連する問題