2

Maven-Release-Pluginを使用してJavaプロジェクトをリリースするためのJenkins-Jobを構成しようとしています。
現在のリリースが前のリリースと互換性がない場合、リリースを以前のメジャーバージョンと互換性がないものとしてマークするために使用するメジャーバージョンが変更されることを確認したいと思います。

例:

最後のリリースはバージョン1.9.5で、 Fooという名前のクラスが含まれていました 。現在のリリース
では、このクラスは削除されています。 ユーザーは現在のリリースバージョン1.9.6として指定し、Jenkins-Jobを開始します。

リリースでは、APIに互換性がなくなったため、現在のメジャーバージョンは1ではなく2になると予想されることをユーザーに通知する必要があります。

以前のリリースの単体テストを使用して、現在のリリースのコードをテストすることを考えました。一部のAPIに互換性がなくなった場合、以前のリリースの単体テストはコンパイルまたはテスト中に失敗するはずです(そのコードの単体テストがあると想定)。

私のアプローチでは、テストを別のプロジェクトに保持し、VCSから2つのバージョンをチェックアウトする必要があります。

そうするのに役立つ可能性のあるJenkinsプラグインについて知っていますか、またはAPIが2つのメジャーバージョン間で互換性がなくなったかどうかを確認する方法について他のアイデアがありますか?

4

2 に答える 2

2

私はあなたのAPIを理解していないので、APIの互換性のテストに関連するものを提案することはできませんでした。

Jenkins / Mavenの面では、「他のプロジェクトでパラメーター化されたビルドをトリガーする」と呼ばれるビルド後のアクションオプションを使用して、テストのジョブのダウンストリームジョブとして実際のリリースビルドを実行することをお勧めします。

この関数を使用すると、このジョブの結果に応じて、異なるパラメーターを使用してダウンストリームジョブをトリガーできます。つまり、テストスイート全体が合格した場合は、マイナーリリースビルドをトリガーし、その逆も同様です。

于 2012-04-12T11:27:01.260 に答える
1

これにJenkinsまたはリリースプラグインを使用する意味はないと思います-メジャーリリースを何回行う予定ですか?

単体テストを別のプロジェクトに分割するというあなたのアイデアは良いものです。リリースを提案している-SNAPSHOTバージョンに対して、前のリリースのテストを実行するだけです。合格すれば大丈夫です。それ以外の場合は、メジャーバージョン番号を上げます。

于 2012-04-12T12:50:53.697 に答える