私は、モジュールの1つにspring-cloud-contract-maven-pluginを追加するまで、各モジュールをArtifactoryに細かくデプロイするマルチモジュールプロジェクトを持っています。これはプロデューサAPIなので)。Spring Cloud契約がMavenマルチモジュールプロジェクトのArtifactoryにデプロイされない
プロジェクトは、この構造を有する:
parent
- common (shared DTOs)
- client
- service
私たちは、将来的には、クライアントとの共通を削除して、結合を低減するために、消費者に装うクライアントを持ち、そして内側のモジュールなしで、基本的なプロジェクトを持つようにしたいです、しかし今のところ、この構造を維持しなければなりません。
私が最初に私の最初の回避策は、ジェンキンスパイプラインそれはサービスとスタブを展開
sh './mvnw clean deploy -U --projects=xxx-service'
にこれを追加することでしたので、スタブは、Artifactoryにプッシュされていなかったことに気づいたが、私は、のいずれもが気づいていませんこのコマンドが実行されたときにモジュールが展開されます:
[INFO] Installing /xxx/xxx-service/target/xxx-service-1.7.0-SNAPSHOT.jar to /xxx/.m2/repository/xxx/xxx-service/1.7.0-SNAPSHOT/xxx-service-1.7.0-SNAPSHOT.jar
[INFO] Installing /xxx/xxx-service/pom.xml to /xxx/.m2/repository/xxx/xxx-service/1.7.0-SNAPSHOT/xxx-service-1.7.0-SNAPSHOT.pom
[INFO] Installing /xxx/xxx-service/target/xxx-service-1.7.0-SNAPSHOT-stubs.jar to /xxx/.m2/repository/xxx/xxx-service/1.7.0-SNAPSHOT/xxx-service-1.7.0-SNAPSHOT-stubs.jar
[INFO]
[INFO] --- maven-deploy-plugin:2.8.2:deploy (default-deploy) @ xxx-service ---
[INFO] Deploying xxx:xxx-service:1.7.0-SNAPSHOT at end
:
sh './mvnw clean deploy -U'
これは出力の終わりです
すべてのMaven設定を親POMファイルに移動して、契約と基本テストクラスをサービスモジュールに保存しようとしました。私はthis pageを見て、プラグインを設定する方法を説明しました。契約ファイルのディレクトリを指定するcontractsDirectory、生成されたテストのディレクトリを指定するgmavenplus-plugin、ベースのパッケージを指定するpackageWithBaseClassesを使用できることがわかりました。クラス。しかし、基本クラスのディレクトリを指定する方法はありません。モックを生成するためにサービスモジュールのいくつかのクラスを使用するため、ベーステストクラスを親に移動することはできません。
これを行う方法はありますか、契約用に別のプロジェクトを作成する必要がありますか?事前に
おかげ
サンプルをどこかにアップロードしてチェックアウトできますか? –
私は、プロジェクトの縮小バージョンを作成して正常に動作するので、1つのモジュールで持っている他のプロジェクトでは発生しない設定との競合です。問題は、spring-boot-starter-parentを拡張したカスタムの親プロジェクトによって引き起こされるようです。その親のコードをコピーすると、APIのデプロイメントはうまく動作しますが、それを拡張しても問題ありません。面白いことに、私はプラグインの設定から行を削除しても、スタブを生成しません。私は調査し、より多くの情報を投稿し続けます。ありがとう –
rafaborrego
これはhttps://issues.apache.org/jira/plugins/servlet/mobile#issue/MDEPLOY-193に関連しているようです:https://stackoverflow.com/questions/36328154/maven- deploy-plugin-deployatend-not-workingです。私はプラグインがどのように衝突して解決するのか把握しようとします – rafaborrego