2010-11-19 11 views
0

ハドソンのビルド番号を無効にするにはどうすればよいですか?それは簡単な質問のように聞こえるが、実際はそうではない。ハドソンのビルド番号を無効にする

主な目標は、SVNリビジョン番号をビルド番号として使用することです。だから私はenvを設定した。 var。適切なプラグと、私た:

BUILD_NUMBER = ${SVN_REVISION}.${BUILD_ID} BUILD_TAG = ${JOB_NAME}.${BUILD_NUMBER}BUILD_NUMBER = ${JOB_URL}.${BUILD_NUMBER}

とハドソンBUILD_NUMBERがactullyオーバーライドされるログ:

BUILD_NUMBER = 32.2010-11-19_14-10-48

BUILD_TAG = hudson-FF.コース管理-32.2010-11-19_14-10-48

BUILD_URL = http://dot-servers:8080/job/FF.Course%20Management/32.2010-11-19_14-10-48

が、ハドソンは、まだ独自の番号を使用し、ビルド番号があると主張し、のは言わせて、70およびIは、(上記の例のように)それが32になりたかったです。

+0

Ug。これは問題を求めているようです。あなたのビルドに含まれているビルドIDとしてsvnリビジョンを使用しても問題ありません。しかし、Hudsonのビルド番号をSubversionとのロックステップに進めるように要求すると、問題が発生する可能性があります。手動ビルドには固有のビルド番号がありません。ハドソンのビルドナンバーはどういう意味ですか? –

+0

1)ビルドの一意性が重要であることを理解しています。そのため、$ {BUILD_NUMBER}に$ {BUILD_ID}を使用しています。私はこれが唯一の問題を解決することを望んでいた –

+1

2)なぜこれが必要ですか?さて、バージョン1.2.3のDLLがあると、$ {SVN_REVISION}私は簡単にHudsonビルドでこのバージョンを反映したいと思います。このリフレクションがなければ、ビルドリストをブラウズして特定のビルドを探す必要があります。他のシナリオ:私の開発者は、「私は$ {HUDSON_BUILD_NUMBER}で実装しました」というより、「私は$ {SVN_REVISION}で実装しました」と言っている傾向があります。要約すると、これはファイルバージョンとHudsonビルドリストを見ても、興味のあるビルドを簡単に見つける方法の問題です。 –

答えて

3
  1. を使用する必要があります後のビルド番号を使用するものは、後のビルド番号を設定することはできませんビルドが開始されました。
  2. ビルド番号は数値である必要があります。
  3. ビルド番号は一意である必要があります。

ジョブのnext build numberを設定するプラグインがあります。しかし、これは、ジョブがすでに開始されているため、探している機能ではありません。ハドソンのfingerprint featureをご覧ください。もう1つの素敵なプラグインは、description setter pluginです。ビルド番号の詳細については、this issueをご覧ください。

0

ハドソンが独自の番号を使用しているとしたら、左側のサイドバーにあるのですか?

もしそうなら、それはあなたが設定した時点(私が推測しているのはビルド>シェルスクリプトを実行している)で、その番号は既にビルド自体を作成するために使われているため、代わりに70 32.

のしかし、あなたが実行シェルスクリプトに番号を変更するので、32

+0

はい、左側のサイドバーを意味します。そして私の主な質問は、左のサイドバーでその番号を変更する方法です。 –

+1

私が知る限り、ビルドがSVN REVISION番号について知っている前に、その番号が作成されて使用されているので、あなたはそれを変更することはできません。しかし、その番号を含むファイルは '$ HUDSON_HOME/jobs//nextBuildNumber'です。 次のビルドを開始する前に、ファイルの値を変更してみることができます。 – Sagar

+0

さらに、2つのビルドステップがある場合、両方のステップのビルド番号を設定する必要があります。 –

0

私は気が変わった。ハドソンの内部ビルド番号を変更するのではなく、バイナリをバージョンアップするために使用します。私はどこでも、各番号を反映することができ

1.2.${SVN_REVISION}.${BUILD_NUMBER}

と説明セッタープラグインと組み合わせ:だから今私は、このようなバージョン管理のバイナリを持っています。 ご協力いただきありがとうございます。

+0

IMHO、あなたが推奨するプラグインを使用することに決めたので、@ Peterの答えをupvote(または受け入れ)するのがよいでしょう。乾杯! –

+0

私は今それを受け入れました。ありがとう;) –

0

私はこれをTeam City CIで行いました。これはHudsonと似ています。

Mavenを実行するコマンドラインパラメータに-DSVN_REVISION = 123 -DBUILD_NUMBER = 456を設定します。これにより、これらの値が上書きされます。チームシティーで

は私がとMavenのBuildNumberをプラグインを使用し-DscmBranch = /リリース/ 2.0.0 -DbuildNUmber = 233プラグインのみ/サポートタグ、/枝、および/トランクフォルダ名以来、私たちのリリースを構築するために、しかし、/ releasesフォルダがあります。これにより、scmプラグインの値が上書きされます。

関連する問題