Jenkinsは、Bitbucketのリポジトリにコミットされたときにユニットテストを実行しています。これは、Bitbucketプラグインによって、つまりBitbucket Webhookを介して制御されます。
現在、ブランチAに対してコミットが行われると、ユニットテストが始まります。そのジョブの実行中に2番目のコミットがブランチAに対して行われた場合、2番目の単体テストが開始されるため、同じブランチに2つの単体テストがありますが、コードは少し異なります。
私たちが好む動作は、最初のコミットのテストが2番目のテストの開始時に中止されるため、最新の単体テストのみが実行されることです。これは達成できますか?
明確にするために; 多くのブランチがあるため、同時ビルドを防止したり、次の開始時に最後のビルドをキャンセルしたりすることはできません。どの方法を使用する場合でも、一般的にジョブがすでに実行されているかどうかではなく、ブランチがすでに実行されているかどうかを具体的に確認する必要がありますランニング。
Gitのトリガーコントロールはいくつか見ましたが、Bitbucketは見ていません。また、ジョブが既に実行されているかどうかを確認し、実行されている場合はキャンセルするスクリプトも見つけましたが、前述のとおり、これは私たちの使用例には適していません。何か不足していますか?