Nexus + Maven + Hudsonの問題を解放します
-
29-09-2019 - |
質問
Hudson(1.368)のMavenのリリースプラグインを使用すると、展開フェーズ中にNexus Mavenリポジトリマネージャーへの配信管理セクションが欠落しているというエラーが発生しています。リリースを使用せずにデプロイする場合、それは正常に溶けているので、サーバー、セクション、または設定を使用して誤解を招くべきではありません。
私の会社がハドソンに異なるPOMファイルを使用しており、それらを異なって命名していることは注目に値します。また、個々のプロジェクトディレクトリのsettings.xml。 HudsonがPOMの名前と指定する設定ファイルの場所と名前を許可するため、これは決して問題ではありませんでした。
上記に注意する理由は、配信管理が通常のpom.xmlに移動すると、それが見つかるからです(ただし、設定ファイルのユーザー名とパスワードが欠落しているため、まだ機能しません)。これは、リリースプロセスの以前の部分では、正しいPOMと設定を使用しているため、私からのヘックを混乱させます。後でそれらを忘れているようです。ここで何が起こっているのですか?
前もって感謝します。
アップデート
Mavenリリースプラグインは、Mavenの新しいインスタンスをスピンアップしているようです。さらにテストが必要です。
解決
答え(この質問に出くわした失われた魂のために)は、Mavenが実際に正しいPOMファイルと設定を使用していない新しいプロセスを分岐していたということです。解決策は、次のようにPOMファイルにセクションを追加することでした。
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0</version>
<configuration>
<goals>-f POMFILE -s SETTINGSFILE deploy</goals>
</configuration>
</plugin>
これにより、これら2つのファイルが新しいMavenプロセスに指定されました。
他のヒント
リリースを使用せずにデプロイする場合、それは正常に溶けているので、サーバー、セクション、または設定を使用して誤解を招くべきではありません。
まあ、ハドソンレベルであっても、どこかに誤解が明らかにあります。しかし、POM、設定、アクティブプロファイル、リリース中に使用されるプロファイル、Hudsonセットアップなどを見ずに見つけることは困難です。
最初のステップ:ハドソンとまったく同じ構成を使用して、コマンドラインの問題を再現してみてください。
2番目のステップ:を使用します Mavenはプラグインをヘルプします 問題を理解してデバッグする。より具体的には、次の目標:
上記に注意する理由は、配信管理が通常のpom.xmlに移動すると、それが見つかるからです(ただし、設定ファイルのユーザー名とパスワードが欠落しているため、まだ機能しません)。
どこにあるのかは不明です distributionManagement
プロジェクトの外側で指定されています pom.xml
(企業環境では、通常は企業になります pom.xml
, 、ここで事実ですか?)。
あなたが実際に提供しているかどうかも不明です username
と password
サーバー用 id
リポジトリに一致します id
の distributionManagement
.
しかし、どういうわけか、ここでは間違った組み合わせが使用されています。リリース/デプロイ中にアクティブなプロファイル/設定が何をアクティブにするかを再確認して、提案されているように問題を見つけます。
参照してください
- Maven Deployプラグイン 使用法 ページ