web-dev-qa-db-fra.com

Comment obtenir l'horodatage de construction depuis les variables de construction Jenkins?

Comment puis-je obtenir l'horodatage de la dernière version de Jenkins? Je souhaite insérer cette valeur dans le sujet de l'e-mail dans les actions post-build.

30
rkkreddy

NOTE: Ceci a été modifié dans Jenkins 1.597. Voir ici pour plus d'informations sur la migration.

Vous devriez pouvoir visualiser toutes les variables d’environnement globales disponibles pendant la construction en accédant à https://<your-jenkins>/env-vars.html.

Remplacer https://<your-jenkins>/ avec l'URL utilisée pour accéder à la page Web Jenkins (par exemple, il peut s'agir de http://localhost:8080/env-vars.html).

Une des variables d'environnement est:

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

Si vous utilisez la notification par courrier électronique modifiable de jenkins, vous devriez pouvoir utiliser ${ENV, var="BUILD_ID"} dans l'objet de votre courrier électronique.

19
Alex

Le plugin timestamp de construction sera la meilleure réponse pour obtenir le TIMESTAMPS dans le processus de construction.

Suivez les étapes ci-dessous pour obtenir le "BUILD_TIMESTAMP" variable activée.

ÉTAPE 1:

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

ÉTAPE 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.

UTILISATION:

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

Essayez d'utiliser Build Timestamp Plugin et utilise BUILD_TIMESTAMP variable.

5
Moesio

Je sais que sa réponse tardive à cette question, mais j'ai récemment trouvé une meilleure solution à ce problème sans installer aucun plugin. Nous pouvons créer un numéro de version formaté et utiliser ensuite la variable créée pour afficher la date/heure de génération. Étapes pour créer: Environnement de construction -> Créer un numéro de version formatée:

  • Nom de la variable d'environnement: BUILD_DATE

  • Numéro de version Format String: $ {BUILD_DATE_FORMATTED}

c'est ça. Utilisez simplement la variable créée ci-dessus dans la ligne d'objet de l'e-mail sous la forme $ {ENV, var = "BUILD_DATE"} et vous obtiendrez la date et l'heure de la construction actuelle.

1
whizKid

Générer des variables d'environnement à partir d'un script (script Unix):

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

Cette réponse ci-dessous montre une autre méthode utilisant "la fonctionnalité regexp du plug-in Description Setter" qui a résolu mon problème car je ne pouvais pas installer de nouveaux plug-ins sur Jenkins en raison de problèmes d'autorisations:

tiliser l'horodatage de build dans la description de build Jenkins

0
manasouza

Une façon de le faire consiste à utiliser le script Shell dans la section relative à l'environnement global. Ici, j'utilise l'horodatage UNIX, mais vous pouvez utiliser n'importe quel format d'heure compatible avec la syntaxe du script Shell:

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