0

私は新しいhudsonプロジェクトを設定中ですが、release pluginを見つけました。 - その後、Mavenのリリースプラグインはデフォルト値を使用していますHudson/Jenkinsリリースプラグインリリースバージョンの問題

  1. は、文字列パラメータreleaseVersiondevelopmentVersionを定義しないでください:あなたは基本的に2つの可能性があります。 (例えば、1.0.0-SNAPSHOT(svn) - > 1.0.0のバージョンがリリースされ(svnのタグ)、1.0.1-SNAPSHOTは次の開発バージョンになります)。しかし、場合によっては(メジャーリリースがビルドされるなど)十分ではありません。
  2. これらの2つの値(cp。画像、赤いマーカー)を定義しますが、それらは常に入力する必要があり、空です。明らかに、デフォルト値を使用するか空白のままにする可能性はありません。それで、なぜpreReleasepostReleaseアクションをスクリプトなどのように追加する可能性があるのですか。しかし、もしプラグインが必要ではないと思われるのであれば、もっと賢明になります。

enter image description here

だから私の質問は:は道は/リリースビルドスクリプト後、希望の動作を取得する前に、使用しないでありますか?

必要な動作は次のとおりです。フィールドreleaseVersionおよびdevelopmentVersionには、実際のバージョン/バージョン+ 1があらかじめ入力されている必要があります。これが不可能な場合は、それらのフィールドを空白のままにしておくこともできます(mavenビルドプラグインのデフォルト動作をトリガーする場合)。これらのフィールドが空白の場合、空のパラメータでmavenが呼び出され、失敗します。

(本当に簡単なartifactoryリリースプラグインと組み合わせてjenkinsを使用しました - バージョンをリリースする必要がある場合は、すべてのバージョンが表示されているページが表示されます)たとえば、メジャーバージョンをビルドする必要がある場合ユーザーは簡単に数値を変更することができます)。

答えて

1

私は同様の問題がありましたが、私の解決策にはあなたの状況にかなりのオーバーヘッドがあるかもしれません。

セットアップのジョブは手動では作成されませんが、代わりにJob DSL Pluginを使用して生成されます。これは、異なるアーティファクトのための多くの同様のジョブが存在し、生成が異なるユーザからのスノーフレークジョブを停止する傾向があるためです。

私のソリューションは、このようなものになります。世代内の各ジョブの場合

  1. :ジョブによって作成されたアーティファクトの最新バージョンをお使いのアーティファクトのリポジトリを照会(Sonatypeネクサス私のために)
  2. はバージョンを生成しますあなたは
  3. (単にマイナーなどを追加)、ユーザに表示する( hereを示すように)仕事DSLであなたの文字列パラメータにデフォルトのテキストとしてバージョンを適用します
  4. 再実行が設定された間隔で世代なので、ジョブ正しいバージョンで

これは私にとっては容易に可能でした.Job DSLが既に存在し、各案件の名前がジョブ名の一部であるためです。完璧ではありません。正しいバージョンが表示されない特定の時点が存在する可能性があります(ジョブの作成が再実行されなかった新しいリリース直後)。

このタスクのカスタムJenkins Pluginを作成することもできますが、さらにオーバーヘッドがかかる可能性があります。

PS:このソリューションが試してみたいルートであれば、さらにサンプルコードを含めることができます。

+0

あなたの提案をお寄せいただきありがとうございますが、私は新しいプラグインをインストールすることはできません。あなたのソリューションはビルドプロセスの前後にスクリプトを実行するのと似ています。ここでスタックのオーバーフローが発生しました。私はグルーヴィースクリプトを見ましたが、内部的には他の同僚がアリを使っていました。私はそれらのステップがない解決策がなければならないと思った...まだ第3の方法を指摘してくれてありがとう... – Lonzak

+0

あなたが下りて、プラグイン自体にその機能を紹介しない限り、別の方法があるとは思わない。私は現在の環境を改善することができるので、より良い解決策を探してもうれしいです。 – Bricktop

関連する問題