19

私は現在、Jenkins (1.430) でプロジェクトのリリース プロセスを強化しています。

現在のリリース ジョブ

現在、ある特定のプロジェクトについて、リリース プロセス専用のジョブが 1 つあります。完全な手順は次のとおりです。

  1. リリースを担当する開発者は、すべての pom.xml ファイルのバージョンを (実際には を使用してmvn versions:set -DnewVersion=2.0) 手動で変更し、-SNAPSHOT.
  2. 次に、SVN でタグを作成します (例: http://my-svn-repo/project/tags/V_2_0 )。
  3. このタグが作成されると、Jenkins サーバーにログオンし、リリース ビルドを開始します。
  4. このビルドでは、ビルドに使用するタグを尋ねます。ジョブは、パラメーターList Subversion tagsを使用して、パラメーター化されたビルドとして構成されます。
  5. Jenkins はこのタグからアーティファクトを構築し、Nexus インスタンスにデプロイします。
  6. これが完了すると、開発者は pom.xml バージョンを新しい開発バージョン (つまり2.1-SNAPSHOT) に設定します。

この方法の利点は、ビルドがタグのみに依存するため、Jenkins ジョブしかないことです。

ただし、この手順には人間の介入が多すぎます (pom.xml、コミット、タグなどの変更)。

新しいリリース ジョブ

現在、Maven リリース プラグインを使用しています。ビルドを起動するユーザーに 3 つの情報を尋ねるジョブを作成しました。

  • リリースのバージョン (releaseVersionリリース プラグインのパラメータ);
  • リリース後の開発バージョン (developmentVersionリリース プラグインのパラメーター)。
  • タグの名前 (tagリリース プラグインのパラメーター)。

このジョブは、1 つの点を除いて正常に機能します。ジョブは、トランクまたは SVN のブランチに基づいています。これは、(トランクに加えて) 2 つのブランチがある場合、3 つのリリース ジョブ (ブランチごとに 1 つ) を作成する必要があることを意味します。

2 つの世界 (つまり、mvn リリースを使用するが、1 つのリリース ジョブを維持する) の長所を維持するための 1 つのアイデアは、トランク/ブランチのパスをユーザーに尋ねるビルド パラメーターを追加することです。そのため、ジョブ構成でhttp://my-svn-repo/project/trunk(または)を設定する代わりに、 を設定し、ユーザーにパラメーターの入力を求めます。http://my-svn-repo/project/branches/BRANCH_V1http://my-svn-repo/project/$FROM_BRANCHFROM_BRANCH

このソリューションの問題は、ユーザーが または のいずれtrunkかを入力する必要branches/BRANCH_Vxがあり、エラーが発生する可能性があることです。

理想的には、パラメータList Subversion tagsがタグの選択のために存在するため、ブランチ (トランクを含む) の選択を可能にするビルド パラメータが欲しいです...

私の質問:すべてのブランチで機能する1 つのJenkins ジョブを構成するより良い方法はありますか?

ありがとう。


編集: Validating String Jenkins プラグインが見つかりました。これは、ユーザーが定義した値が正規表現を尊重することを保証するのに興味深いものです。それは私の場合に役立ちます...

4

2 に答える 2

19

ジェンキンにあまり慣れていない場合は、ピーターの答えにいくつかのメモを追加してください。

Subversion プラグインは、最近のバージョン (2015 年 9 月現在) ではデフォルトでインストールされています。

次に、プロジェクトを次のように構成する必要があります。

  1. 「このビルドはパラメーター化されています」をチェックします(このプロジェクトは最新バージョンでパラメーター化されています)
  2. 「Subverion タグのリスト (およびその他)」を選択します
  3. name フィールドに、後で svn url で参照できる変数名を設定します。ここでは svnbranch を選択します。
  4. [リポジトリ URL] フィールドに、プロジェクトの URL を指定します (トランク、ブランチ、およびタグを含める必要があります)。
  5. 必要に応じて他のフィールドに記入してください
  6. ソース コード管理では、リポジトリの URL で以前に定義した変数を参照します。

次のスクリーンショットを確認してください。

ここに画像の説明を入力

ここに画像の説明を入力

于 2015-09-17T04:41:44.250 に答える
10

subversionプラグインのバージョン1.32が必要です。問題JENKINS-10678はそのバージョンで実装されました。

次に、プロジェクトのURL(トランク、ブランチ、タグを含める必要があります)のみを指定すると、ブランチと一緒にトランクが提供されます。

于 2011-10-13T12:47:40.603 に答える