Jenkinsビルド番号の変更


142

ジョブの完了後にメールで送信されるビルド番号を変更する方法はありますか?問題は、製品のビルドがJenkinsによって行われていないため、ビルド番号を(つまり、テキストファイルから)取得し、それに一致するようにJenkinsのビルド番号を更新できるようにすることです。ビルド番号を設定しようとしました:

set BUILD_NUMBER=45

しかし、メールにはまだJenkinsが最初に設定したビルド番号が表示されています。

回答:


259

スクリプトコンソール(Jenkinsの管理->スクリプトコンソール)にアクセスできる場合は、次の手順を実行できます。

Jenkins.instance.getItemByFullName("YourJobName").updateNextBuildNumber(45)

7
これが問題を解決するために完全に機能することを確認できます。2つのjenkinsサーバー間でビルド履歴を手動でコピーしましたが、新しいサーバーではnextBuildNumberが間違っていました。これを実行すると、正しい新しいnextBuildNumberを設定できました。jenkins構成の再読み込みは必要ありません。
Phil Hollenback 2016年

5
GitHubプラグインを使用している場合は、"YourJobName"です"organization/repository/branchname"
ルード

15
動作します。値は、使用して構築せずに検証することができます:Jenkins.instance.getItemByFullName("YourJobName").getNextBuildNumber()
ダニエル・アルダー

7
これはマルチブランチパイプラインでも機能することを確認できます。「JobName」はブランチページの上部に表示されます:完全なプロジェクト名:PipelineName/BranchNameしたがって、次のようになりますJenkins.instance.getItemByFullName("YourPipelineName/YourBranchName").updateNextBuildNumber(45)
Markus


37

プラグインで実行できます:https : //wiki.jenkins-ci.org/display/JENKINS/Next+Build+Number+Plugin

詳細:http : //www.alexlea.me/2010/10/howto-set-hudson-next-build-number.html

プラグインが気に入らない場合:

nextBuildNumberファイルを使用してビルド番号を変更する場合は、「Jenkinsの管理」ページから「ディスクから設定を再読み込み」する必要があります。


2
プラグインを使用する必要はありません。
david.perez 2014年

1
ありがとう、あなたは私の日を救います。
福沢由紀夫2014年

29

次のようなジョブワークスペースフォルダーの下

C:\Program Files (x86)\Jenkins\jobs\job_name

という名前のファイルがあります nextBuildNumber

ファイルにビルド番号を設定し、ディスクから構成を再ロードすると([Jenkinsの管理]メニュー)、次に開始するビルドでファイルの値がBUILD_NUMBERになります。


9
nextBuildNumberファイルを変更した後、ディスクから構成をリロードしましたか(Manage Jenkinsメニュー)?
vezenkov

違う!私はそれが自動的に起こったと思った。
hfossli 2015

これは完璧に機能しました。影響を与える前にサーバーを再起動する必要があります。
Hawkeye64 2018年

多くのユーザーがパイプラインを実行している場合、サーバーを再起動する必要があります。この種のソリューションは避けた方がよい
MorganGeek

8

フォワードスラッシュを含むブランチ名がある場合(たとえば、gitフローを使用)、フォワードスラッシュをそのUnicode文字%2Fに置き換える必要があります。ブランチ名内の。

以下は、パイプラインMy-Pipeline-Nameとブランチリリース/ my-release-branch-nameの例です。

Jenkins.instance.getItemByFullName("My-Pipeline-Name/release%2Fmy-release-branch-name").updateNextBuildNumber(BUILD_NUMBER)

パイプラインのさまざまなジョブ(ブランチ)を一覧表示する次のコマンドを実行して、これについて知ることができました

Jenkins.instance.getItem("My-Pipeline-Name").getAllJobs()

それが役に立てば幸い。


5

おそらく、これらのプラグインの組み合わせが役立つでしょう。


どうもありがとう-プラグインの1つを使用することができました。
erman8 2013年

1

ビルド番号を変更するには、Jenkinsサーバー上のファイル$ {JENKINS_HOME} / jobs / job_name / nextBuildNumberを更新します。

プラグインの次のビルド番号プラグインをインストールして、CLIまたはUIを使用してビルド番号を変更することもできます


nextBuildNumberファイルのビルド番号を単独で変更するだけでは不十分であることに注意してください。「Jenkinsの管理」メニューの「ディスクから設定を再読み込み」も実行する必要があります。
ファルスタッフ

-4

環境変数を使用して:

$BUILD_NUMBER =4

2
叫ばないでください。ありがとうございました。
OliBlogger
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.