git リポジトリにマージする前にコミットを検証していないようですが、頻繁に git にマージした後にコミットを検証しているようです。
すべてのユーザーの ssh キーを git リポジトリから削除する以外に git pull を無効にする方法はないと思いますが、これは実現不可能です。Jenkins でビルド後の手順を実行して、Git のauthorized_keys ファイルを操作して、git リポジトリへのアクセスをブロックすることができます。(動作するかどうかはわかりません)
各ビルドと検証に約 2 時間かかる同じシナリオがあり、コミットごとにこのテストを実際に実施することはできません。しかし、私たちはこの状況を管理することができました。
ゲリットを使用している場合:
Jenkins Gerrit-trigger プラグインを使用する代わりに、すべての承認があり、マージして検証を実行する準備ができている変更について、gerrit 全体をポーリングする独自のスクリプトを作成できます。検証が成功すると、そのジョブのすべての変更が自動的にマージ (Gerrit で送信) されます。これにより、悪いコミットがマージされるのを避けることができます。
gerrit を使用していない場合:
2 つの別々のブランチを持つことができます
- 開発ブランチ (すべての開発者が変更をプッシュする場所)
- 統合ブランチ (開発者が変更をプルできる場所)
すべての開発者は変更を開発ブランチにプッシュし、頻繁に開発ブランチを検証し、検証が成功した場合にのみ変更を統合ブランチにプッシュできます。