web-dev-qa-db-ja.com

Jenkinsビルド変数からビルドタイムスタンプを取得する方法は?

Jenkinsから最新ビルドのビルドタイムスタンプを取得するにはどうすればよいですか?ビルド後のアクションの電子メールの件名にこの値を挿入します。

30
rkkreddy

注:これはJenkins 1.597で変更されました。移行に関する詳細は here を参照してください

https://<your-jenkins>/env-vars.htmlに移動すると、ビルド中に使用可能なすべてのグローバル環境変数を表示できるはずです。

https://<your-jenkins>/をJenkins Webページへのアクセスに使用するURLで置き換えます(たとえば、http://localhost:8080/env-vars.htmlのようになります)。

環境変数の1つは次のとおりです。

BUILD_ID
    The current build id, such as "2005-08-22_23-59-59" (YYYY-MM-DD_hh-mm-ss)

Jenkinsの編集可能な電子メール通知を使用する場合、電子メールの件名行で${ENV, var="BUILD_ID"}を使用できるはずです。

19
Alex

ビルドタイムスタンププラグインは、ビルドプロセスでTIMESTAMPSを取得するためのベストアンサーになります。

以下の簡単な手順に従って、"BUILD_TIMESTAMP"変数を有効にします。

ステップ1:

Manage Jenkins -> Plugin Manager -> Installed...
Search for "Build Timestamp Plugin".
Install with or without Restart.

ステップ2:

Manage Jenkins -> Configure System.
Search for 'Build Timestamp' section, then Enable the CHECKBOX.
Select the TIMEZONE, TIME format you want to setup with..Save the Page.

使用法:

When Configuring the Build with ANT or MAVEN, 
Please declare a Global variable as, 
E.G.  btime=${BUILD_TIMESTAMP}
(use this in your Properties box in ANT or MAVEN Build Section)

use 'btime' in your Code to any String Variables etc..

enter image description here

enter image description here

22
Raghav Tallam

Build Timestamp Pluginを使用し、BUILD_TIMESTAMP変数を使用してみてください。

5
Moesio

この質問への回答が遅れていることは知っていますが、最近、プラグインをインストールせずにこの問題に対するより良い解決策を見つけました。フォーマットされたバージョン番号を作成し、作成された変数を使用してビルドの日付/時刻を表示できます。作成手順:ビルド環境->フォーマットされたバージョン番号を作成します。

  • 環境変数名:BUILD_DATE

  • バージョン番号フォーマット文字列:$ {BUILD_DATE_FORMATTED}

それでおしまい。メールの件名行で上記で作成した変数を$ {ENV、var = "BUILD_DATE"}として使用すると、現在のビルドの日付/時刻が取得されます。

1
whizKid

スクリプト(Unixスクリプト)から環境変数を生成します。

echo "BUILD_DATE=$(date +%F-%T)"
1
Arnal Jerome

以下のこの答えは、許可の問題のためにジェンキンスに新しいプラグインをインストールできなかったため、私の問題を解決した「Description Setterプラグインの正規表現機能」を使用する別の方法を示しています。

ビルド記述Jenkinsの設定でビルドタイムスタンプを使用

0
manasouza

これを行う1つの方法は、グローバル環境セクションでシェルスクリプトを使用することです。ここでは、UNIXタイムスタンプを使用していますが、シェルスクリプト構文互換の時間形式を使用できます。

pipeline {

    agent any

    environment {
        def BUILDVERSION = sh(script: "echo `date +%s`", returnStdout: true).trim()
    }

    stages {
        stage("Awesome Stage") {
            steps {
                echo "Current build version :: $BUILDVERSION"
            }
        }
    }
}
0
Asrar