ゲートコミット

ゲートコミット、ゲートチェックイン[ 1 ]、または事前テスト済みコミット[ 2 ] は、バージョン管理のメインブランチに変更をコミットすることで、ビルド(および多くの場合、それに関連するテスト)が壊れる可能性を低減するソフトウェア統合パターンです。このパターンは、継続的インテグレーション(CI)サーバーによってサポートされます。 [ 3 ]

ゲートコミットを実行するには、ソフトウェア開発者は、実際の変更を中央の場所にコミットする前に、CIサーバーにゲートコミットをリクエストする必要があります。CIサーバーは、ローカルの変更をマスターブランチのヘッドにマージし、ゲートを構成する検証(ビルドとテスト)を実行します。これにより、開発者は変更を実際にコミットすることなく、変更がビルドに悪影響を与えるかどうかを確認できます。中央の場所へのコミットは、ゲートがクリアされた場合にのみ許可されます。

代替案として、このパターンはバージョン管理における異なるブランチを用いることで実現できます。例えば、GitHubはブランチBへのすべてのコミットを、CIサーバー上で正常にビルドされ、最新の状態(つまり、ブランチBをベースとしているか、リベースとしている)にあるプルリクエストからのマージコミットに強制することができます。[ 4 ]

参照

参考文献