2

Provider と Consumer の 2 つのマイクロサービスがあり、どちらも独立して構築されています。コンシューマー マイクロサービスは、プロバイダー サービスの消費方法に誤りを犯し (何らかの理由で)、その結果、誤った協定が Pact Broker に発行されます。コンシューマー サービスのビルドは成功しますが (リリースまでずっと進むことができます!)、次のプロバイダー サービスのビルドは間違った理由で失敗します。そのため、破損したプロバイダー サービス ビルドと破損したコンシューマー リリースが発生します。

このような状況を防ぐためのベスト プラクティスは何ですか?

コントラクトが発行されたときに Pact Broker がプロバイダー テストを自動的にトリガーし、失敗した場合にコンシューマーに通知できることを期待していましたが、そうではないようです。

ありがとう!

4

3 に答える 3

0

おっしゃる通りです。これは現在の Pact ワークフローに欠けているものの 1 つであり、他のいくつかのものが調整されたら、私が取り組んでいるものです。

そうは言っても、当面の間、これで現在の問題が解決されるわけではないので、プロセスの潜在的な回避策を提案します。コンシューマーのテストを実行して合格し、すぐにリリースする代わりに、コンシューマーでテストを実行し、プロバイダーのテストが緑色に戻るのを待ってから、コンシューマー/プロバイダーを一緒にリリースすることができます。もう 1 つの方法は、プロバイダー/コンシューマーの相互作用 (API バージョニング) をバージョン化して、事前にコンシューマーをリリースできるようにすることですが、正しいバージョンのプロバイダーがリリースされるまでは「オン」にはなりません。

これらの解決策はどれも素晴らしいものではなく、心から同意します。これは私が非常に情熱を注いでいることであり、pact ブローカーでの開発者エクスペリエンスを修正し、より良い方法でコンシューマー/プロバイダーをリリースするためにすぐに取り組んでいきます。

どんなコメントでも大歓迎です。乾杯。

于 2017-01-12T23:03:11.957 に答える