9

Github にアカウントがあり、すべてのプロジェクトを Github (プライベート リポジトリ) でホストしています。

内部目的で使用するコーディング標準およびおそらく他のフックを強制したいと考えています。リポジトリが 1 か所にあるため、これらのフックは Subversion で非常にうまく機能し、これらのフックの管理は優れていました。

Github では、メイン リポジトリ (?) にフックを追加する機能が失われているように見えます。

  1. すべてのメンバーがファイルの変更をメイン リポジトリにプッシュするときに、コーディング標準を強制するにはどうすればよいですか?
  2. プッシュ要求を処理する前に、Github でサーバーに存在するフックを実行する方法はありますか?

生活を楽にするためのアイデアや提案を探しています。どんな助けでも大歓迎です。

4

2 に答える 2

2

これは VCS の仕事ではないと思います。問題は、コーディング標準の適用を支援するツールは、通常、ソースを操作し、場合によってはバイナリを操作することです。たとえば Java では、checkstyle はソース上で実行できますが、findbugs にはソースとコンパイル済みコードが必要です。しかし、私が理解しているように、パッチでそのようなツールを実行することは十分に効果的ではありません. これらのツールにはコンテキストが必要です。

そのため、Jenkins のような継続的インテグレーション サーバーのインスタンスを作成し、新しい変更がある場合は Github からコードをチェックアウトし、静的分析ツールをコンパイルして実行し、ビルドの結果をすべてのチーム メンバーに送信することをお勧めします。プッシュされた変更が適切にコーディングされていることに関するフィードバックを提供するだけでなく、コードがビルドの観点からすぐに安定している場合に有益なフィードバックを提供します。

于 2012-10-18T14:30:08.563 に答える
0

Eugene が言うように、これが本当に VCS の仕事なのかどうかはわかりません。(しかし、おそらくこれをフックできる場所があります)。

Github を使用しているため、 Commit Status APIに精通していますか? そうすれば、コーディング スタイルを自動的にチェックするサービス (Jenkins など) をセットアップし、たとえばユニット テストを実行して、プル リクエストが「クリーン」か「安全」かを確認できます。

于 2012-10-18T14:36:41.813 に答える