問題タブ [maven-release-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
maven-2 - maven リリース プラグイン - wagon は ssh 認証で失敗しますが、snapshort とリリース デプロイは機能します - え?
私は困惑しており、助けていただければ幸いです。ビルド マシンで maven リリース プラグインを使用できなくなりました。試してみると、タグからの展開中に認証に失敗します。ただし、このマシンは、標準のデプロイ方法を使用してスナップショットを作成し、レポジトリをリリースできます (ネクサスを仲介する同じマシン上にあります)。
- リリース:デスクトップから作業を実行
- release:認証エラーでビルド マシンで実行が失敗する
- スナップショットへのデプロイまたはリリース リポジトリは、デスクトップおよびビルド マシンから動作します
- release:perform が私のビルド マシンから次のように失敗します。
アーティファクトのデプロイ中にエラーが発生しました: 認証に失敗しました: 接続できません。理由: 認証キャンセル
どちらのマシンも Windows で、スナップショットと通常の展開が機能するため、ssh は問題ないと思います。私は運が悪いので、以下を見てきました。どんな提案でも大歓迎です。ありがとう
ピーター
チェックしたこと
- setting.xml (同一)
- パス (異なるが、同一にすると影響なし)
- ローカルリポジトリ(それぞれをクリアして、それがそれであるかどうかを確認してみました-影響はありません)
- Maven インストール - 同じ
コマンド - 通常は hudson によって実行されますが、手動でも実行されます
POM
git - MavenとGitを機能させる
私は最近、gitとmavenを掘り下げ始めました。複数のモジュールセットを持つシステムがあり、これはさまざまなgitリポジトリに保存されています。これを同じワークスペースにプルダウンして、さまざまなMavenゴールを実行する必要があります。
他の誰かがこのセットアップを実行し、これを行うための疲れた本当の方法を提供したかどうか疑問に思いました。
私はあなたがmavenとgitを使ってあなたの試合で思いついたチュートリアルと解決策を評価します。
どうぞよろしくお願いします。
GC。
maven-2 - MavenリリースプラグインとMavenアセンブリプラグインの違いは何ですか?
質問はそれをすべて言います、私は信じます。
どうぞよろしくお願いします
GC
maven-2 - リリース実行中の Maven Cargo Deploy
cargo:redeploy
私が実行している間にMavenに実行させることは可能release:perform
ですか?
現在、バージョンからのrelease:perform
削除-SNAPSHOT
、ビルド、コミット、およびバージョンのインクリメントを行っています。これにより、最終バージョンの WAR がtarget/
ディレクトリに配置されますが、実行cargo:redeploy
すると新しいバージョン番号が表示され、pom.xml
失敗します。
貨物プラグインに古いバージョン番号を使用するか、最終的なWARが構築された後、バージョンがインクリメントされる前に実行が発生するように指示する方法はありますか?
git - スナップショットだけでなく、Hudson にリリース アーティファクトを自動的にビルドおよびインストールさせるにはどうすればよいですか?
私はラップトップでいくつかの mavenized プロジェクトを開発しており、定期的に github にプッシュしています。私はクラウドにプライベート hudson サーバーをセットアップし、更新のために git リポジトリをポーリングしてビルドを実行しました。
残念ながら、ラップトップで「mvn release:prepare」を実行してリリース (たとえば「1.5」) を実行すると、発生する 2 つのコミット (1.5-SNAPSHOT を 1.5 に変更し、次に 1.5 を 1.6-SNAPSHOT に変更する) が一緒にプッシュされます。私のgitリポジトリ-そしてHudsonは明らかに最新のもの、つまり1.6-SNAPSHOTをビルドし、1.5リリースを完全に無視します。
それほど重要ではありませんが、プロジェクトは互いに依存しているため、pom でスナップショット以外のバージョンを宣言したいと考えています。ただし、プロジェクト B がプロジェクト A のバージョン 1.5 に依存している場合、Hudson ボックスの hudson ユーザーのローカル Maven リポジトリには見つからないため、ビルドされていないため、プロジェクト B のビルドは失敗します。
Hudson をもう少し賢くして、maven リリース バージョンが飛び交うのを確認すると、その特定のバージョンのビルドとインストールを強制してから、後のスナップショット コミットのビルドに進むことができれば素晴らしいと思います。
Hudson プラグイン、特に「M2 リリース プラグイン」を調べてきました。
http://wiki.hudson-ci.org//display/HUDSON/M2+Release+Plugin
-しかし、そのプラグインは、ハドソンに遭遇するすべてのリリースビルドを自動的にビルドおよびインストールするように強制するのではなく、より公式のMaven Repoに昇格させたいビルドを手動で選択することを目的としているようです.
更新: 私の根底にある要件のいくつかにより、ここで達成したいことを再考するようになりました-以前にそれらを表現しなかったことをお詫びします:
- ほとんどのプロジェクトはオープンソースであるか、最終的にはオープンになる予定です。誰もが
git clone
単一のプロジェクトにアクセスし、リリース タグをチェックアウトし、mvn install
依存関係のための他のリポジトリを必要とせずに Maven Central を実行できるようにしたいと考えています。 - (私のラップトップ、hudson サーバー、および他の人のチェックアウト全体で) 一貫した結果を得るために、これは明らかに、私の pom でスナップショット以外の依存関係を宣言することを優先することを示しています (少なくともリリース バージョンの場合)。
- これにより、ハドソンにリリースアーティファクトを「mvn install」させようとする道にたどり着きました。これにより、プロジェクト A のリリースバージョン (この質問はから来ました)
さらに:
- 私は sonotype のすばらしい oss ホスティングを使用していますが、これには GPG 署名が必要です。また、手に持てないハードウェアに GPG キーを保存したくありません :)オプションではありません。
- 精神的には、Hudson サーバーにリリースをさせることは、私には少しなじみがありません。私は本当に CI のためにそれを望んでいます。
maven-2 - プロファイルに依存するサブモジュールを備えたMavenリリースプラグイン
マルチモジュールのMavenプロジェクトを使用してリリースを実行しようとしています。私の目的は、すべてのpomのバージョンを変更し、SCMでタグを作成することです。そのため、Mavenリリースプラグインを使用しています。
このプロジェクトには、次のように簡略化した階層があります。
のpom.xmlには、次のexample
ようなモジュールが含まれています。
また、のpom.xmlにmodule2
は、OSタイプによって決定されるプロファイルに依存するモジュールが含まれています。
最後に、それぞれmodule-jni-*
がnative-maven-pluginを使用して、いくつかのC / C ++ソースをコンパイルし、共有ライブラリを生成します。
問題:
Mac OS Xボックスで試してみると、リリースプロセスでが考慮されていないmvn release:prepare -DdryRun=true
ことに気付きました。module-jni-linux
つまり、すべてのモジュールが1.0.0 / 1.0.1-SNAPSHOTバージョンに渡されますが、module-jni-linux
変更されません。release:prepare
プロファイルがアクティブ化されていなくても、すべてのサブモジュールが更新されることを実行するときに必要です。
で両方のプロファイルをアクティブにしようとしましmvn -P linux,macosx ...
たが、module-jni-linux
mac(およびその逆)ではビルドされません。
両方のサブモジュールのバージョンを更新するリリースを実行するにはどうすればよいですか?
hudson - Mavenリリースプラグインの使用中にソースファイルをPERFORCEでロックする
未解決のファイルがまだある間、MavenリリースプラグインがPOM.xmlバージョンを更新できないため、ビルドが失敗するというエラーがHudsonコンソールで発生しました。この問題は、ビルド中に他の人がPOMを更新することによって発生します。
問題を解決する方法を教えてくれる教祖はいますか?私はP4ロックについて考えていますが、MavenとハドソンでP4ロックを使用する方法の詳細を教えてもらえますか?
maven-2 - マルチモジュールプロジェクトでmavenバージョンを処理するには?
次のような Maven プロジェクト インフラストラクチャがあります。
ご覧のとおり、私は多くのライブラリと、これらのライブラリを使用する多くのプロジェクトを持っています。
私は好きなので、これらすべてが1つのマルチモジュールプロジェクトに結合されています
- トッププロジェクトをEclipseにインポートし、すべてのライブラリとプロジェクトを一度に利用できるようにします
mvn test
いくつかのグローバルなリファクタリングを行った後、すべてのコードをコンパイルしてテストするために1 回だけ実行します。
現在、私のモジュールはすべて version1.0-SNAPSHOT
です。
今、私はプロジェクトp2
をリリースしたいと思います. その後、 でいくつかのコード変更を行いますが、ではありません。p2
lib1
lib2
1.0
lib1
lib2
私は version であり、 in version (最後のリリース以降に変更された) を使用する次のリリースが必要ですp2
が、まだ1.1
version (変更されていないため) です。lib1
1.1
lib2
1.0
より一般的なこと: リリースを行う場合、リリースされるプロジェクトのマイナー番号と、最後のリリース以降に変更されたすべてのライブラリのマイナー番号を増やしたいと考えています。
質問
すべてのモジュール バージョンを自分で処理する必要がありますか? それとも、必要な作業を実行できるプラグインがありますか?
svn - Maven2リリースプラグインはタグ付けしたくない
リリースプラグインを使用したいマルチモジュールプロジェクトがあります。
Subversionでのセットアップは
このプロジェクトはトランクからチェックアウトされているため、私のファイルシステムにはタグやブランチフォルダーがありません。コマンドmvnrelease:prepareを使用すると、次のエラーが発生します。
コマンドをデバッグモードで実行すると、次のようになります。
もちろん、タグはsvnには存在しません。
誰かアイデアはありますか?
svn - Mavenリリースプラグインのリリースに失敗します。SvnCHECKOUTが失敗しました
こんにちは私はHudsonでMavenリリースプラグインを使用しようとしています。ビルドは成功し、その後、hudsonがプロジェクトをリリースしようとすると、次のエラーで失敗します。
私がここで欠けているもの。私はstackoverflowでこれに関連するいくつかの記事を見ましたが、それらはCHECKOUTに関連していません。
SVNの問題だと思います。そのため、Mavenは続行できません。ハドソンを実行している人は、コマンドラインで基本的なSVNコマンドを実行できます。
これに関連する助けをいただければ幸いです。