2016-11-28 42 views
0

Jenkinsのビルド番号(BUILD_NUMBER)の最大数は何ですか?私はオンラインで検索しようとしましたが、この情報を見つけることができませんでした。Jenkins BUILD_NUMBER制限 - 最大ビルド番号

無制限ですか、または制限がありますか(INTまたはINT64など)ですか?

PS: 私は、次のプラグインを使用してバック#1または#Nにそれをリセットするか(名前のプラグインを構築セットを使用して)指定された名前に値を設定する方法を探してませです。 https://wiki.jenkins-ci.org/display/JENKINS/Next+Build+Number+Plugin

それはプラグイン次のビルド番号を使用して、限界だ見つけるために - 私が「65535」ビルドを設定すると、それはまだ成功してくれ65536を取得で働いていたと私は999999999(9回)に、この値を増加し続け、それでもまだ動作しました。つまり、1000000000だった次のビルドが実行され、その他のいくつかの実行/ビルドで有効なJenkinsビルドが行われました。 (Iセット次のビルド番号、すなわちしない範囲内の整数でなかった示す)エラーMESGとbarfed 9999999999(10回)、ジェンキンスプラグイン:

私は次のようにビルド番号を設定しようと

A problem occurred while processing the request. Please check our bug tracker to see if a similar problem has already been reported. If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. If you think this is a new issue, please file a new issue. When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins. The users list might be also useful in understanding what has happened. 

Stack trace 

javax.servlet.ServletException: Build number must be an integer 
    at org.jvnet.hudson.plugins.nextbuildnumber.NextBuildNumberAction.doSubmit(NextBuildNumberAction.java:87) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
+0

確かに32ビット整数なのでしょうか?最大値4,294,967,296 – jonrsharpe

+0

@jonrsharpeそれはその価値を取っていませんでしたbarfed。私の欠点としては、intの符号なし値です。つまり、最後の値として2147483647が使用されます。 –

+0

あなたはまだあなた自身の質問に答えました。何を聞いていますか? – jonrsharpe

答えて

1

符号付き整数データ型はジェンキンスBUILD_NUMBERで見出され、INTは限界がある署名さ:

int 2 or 4 bytes -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647 

したがって、ジェンキンスジョブが設定または構築することができる最後の値である:ここで(4つのバイト)。この数値を超える値を設定すると、予想されるINT制限エラーが生成されます。

SET NEXTビルド番号プラグインで、同様に、次の問題に気づいた:私は-2147483648または2147483647(正)との間で次のビルド番号を設定した場合

  1. 、このプラグインは、それは両方のケースで動作しますすなわち、負の数または正の数を与え、それがエラーにならないように設定します。しかし、既にビルド#2147483647(ジョブ履歴の下)に達している場合、ビルド番号を1に設定しても、次のビルドは1または2として生成されません。または3など。 BUILD_NUMBERとして

  2. は、(上記の範囲内で+ Nに-N)を締結し、元のためにされています。プラグインを使用して次のビルド番号を設定するための-22作品を設定し、それは私にビルド番号を与えていません-21またはビルド#21私の場合。このプラグインは制限内にその値を取っているが、実際に何もしていない/私の予想構築#を与える最後の/前のビルド番号よりも負/低い値を提供しながら、何が起こっている

は、あります。私はあなたがヒットするたびに今すぐ構築し、あなたが値をチェックするために、「数を構築する次のセット」をクリックした場合、私はボックスに記載されている数は自動だったことに気づい/ビルドをクリックしていた場合を「Build Now」(これは限度に達したときにのみ発生する)回数だけ減らし、負の値または下限の値は次のビルド番号(プラグインのドキュメントごと)に影響しません。

私は(廃棄された古いのみ1ビルドを保持することにより構築する)新しいtest_jobを作成することによって、これをテストした:

  1. は、今すぐビルドをクリックした100
  2. に次のビルド番号を設定します#1.
  3. を構築しました
  4. 今すぐビルド、ビルド#100を取得、クリックビルド今すぐビルド#101を得ました。
  5. 今度はビルド番号を11に設定します。
  6. Build Nowをクリックしましたが、私にビルド#11を与えるのではなく、#102(PS:これはこのプラグインの意図通りの動作です。何でもする)。
関連する問題