レッツは、私たちは、AndroidクライアントとJava APIのサーバー とコードが異なるサブフォルダと同じSVNリポジトリにコミットされましたと言うは、クライアントコードの異なるバージョンに対してテストを自動化する方法
SVNのバージョン1:[Serverバージョン1]
Svnのバージョン2:[Serverバージョン1] [クライアントバージョン1]
Svnのバージョン3:[Serverバージョン2] [クライアントバージョン1]
Svnのバージョン4:[Serverバージョン2] [クライアントバージョン2]
SVNのバージョン5:[Serverバージョン3] [クライアントバージョン2]
開発者のチェックインバージョン5は、セットアップのbuildserverに簡単であり、サーバのバージョン3に対して、最新のクライアントバージョン2を使用して、統合テストを行うにMavenを頼みますコード。私の質問は次のようになり、我々はバージョン1を使用するユーザの大規模なグループを持っていたしかし
が、我々は確かに3
serverversionにクライアントバージョン1のための下位互換性を必要とする
達人/ buildserverが何もビルドで、このタイプの統合のために持っていたん-テスト?私例えば私は私の統合テストを自動化するチームシティーとMavenを使用しています。
==============================================に
のSVNレイアウト
svn repository
client trunk
server trunk
released version
client release version 1
client release version 2
たび開発者のチェックイン:=========
Kozelkaの勧告を求めた後、ここでの方法は、私は自動テストを取得するつもりですですteamcity buildはサーバーコードの "maven install"を行い、それをwarアーティファクトとしてパッケージ化し、ローカルMavenリポジトリにインストールしようとします。
そして、クライアントバージョン1のpomでクライアントV1ブランチのチェックアウトを行うようにチームシップがトリガーされ、最新のサーバーアーチファクトに依存し、統合の前に最新のサーバーアーチファクトを使用して突堤を開始しますクライアントバージョン1のAPIビューを使用してテストし、テストします。
同じことがクライアントversion2ブランチにも適用され、サポートされているすべてのクライアントリリースでは、最新のサーバーが古いAPIビューに対して後方互換性があることを保証するために、別のサブプロジェクトを作成する必要があります。
答えをいただきありがとうございます。svn分岐機能をうまく使用してください。 – laiBilly