特定のブランチでトリガーするように設定されている Google Cloud Container Builder でビルド トリガーを設定し、リポジトリで cloudbuild.yml 構成を使用しています。これらのブランチのいずれかにコミットをプッシュした最初の日については、コンテナーのビルドがトリガーされ、正常に完了しました。それ以来、トリガーは断続的にしか機能しませんでした。
Google Cloud Container Builder がコミットをまったく検出しないことがあります (コミットが bitbucket にあり、コミットが正しいブランチにあることを確認しました)。その時点で、Google コンソールからビルドを手動でトリガーしようとしましたが、最新のコミットではなく、最後にビルドした古いコミットを使用します。そのため、リポジトリから小さな変更をプッシュするか、空のコミットを実行しようとします。
ビルドがトリガーされることもあれば、トリガーされないこともあります。興味深いのは、しばらくしてビルドが最終的にブランチでトリガーされると、ビルドされていない最近のコミットがある場合、他のブランチでビルドがトリガーされることです。
これを解決する方法がわかりません。誰かが同様の問題を経験しましたか?
アップデート:
問題を解決しました。最初に、各 bitbucket リポジトリを Google Cloud のソース リポジトリに追加しました。その後、Container Registry 内の各リポジトリのビルド トリガーを追加しました。トリガーを追加するときは、ソース リポジトリを追加したときと同じように、Bitbucket のリポジトリに接続するプロセスを実行する必要がありました。後で、これらのリポジトリごとにソース リポジトリ セクションに個別の接続が自動的に作成されていることに気付きました。そのため、ソース リポジトリにリストされている bitbucket の各リポジトリに 2 つの接続がありました。重複を削除すると、トリガーは一貫して機能し始めました。
要約すると、ソース リポジトリに重複した接続がないことを確認してください。