Jenkinsのビルド番号の変更

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

set BUILD_NUMBER=45

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

スクリプトコンソール(Jenkinsの管理->スクリプトコンソール)にアクセスできる場合は、次の操作を行うことができます。

Jenkins.instance.getItemByFullName("YourJobName").updateNextBuildNumber(45)
解説 (8)

はプラグインで実行できる: 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ファイルでビルド番号を変更したい場合は、次のようにしてください。 nextBuildNumberファイルでビルド番号を変更したい場合は、"Manage Jenkins"ページから、"Reload Configuration from Disk"を実行してください。

解説 (3)

ジョブ・ワークスペース・フォルダーの下にある:

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

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

このファイルにビルド番号を設定し、ディスクからコンフィギュレーションをリロードすると(Manage Jenkinsメニュー)、次にビルドを開始するときにこのファイルの値がBUILD_NUMBERになります。

解説 (3)

これらのプラグインを組み合わせると便利かもしれない:

  • Parametrized build plugin]1 - ビルド番号を保持する変数を定義する。
  • バージョン番号プラグイン]2 - 変数を使用してビルド番号を変更する。
  • Build name setter plugin]3 - 変数を使用してビルド番号を変更する。
解説 (2)

Forward Slash を含むブランチ名がある場合( git flow などを使用)、 Forward Slash をブランチ名内のUnicode文字%2F に置き換える必要があります。 。

以下は、パイプライン My-Pipeline-Name とブランチ release / 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()

それが役立つことを願っています。

解説 (0)

環境変数を使用することにより:

$BUILD_NUMBER =4
解説 (1)