Pas capable de lire Git variables d'Environnement Jenkins à l'aide de Groovy Jenkinsfile
Le Plugin Git est installé (par défaut) dans mon Jenkins, mais je ne suis pas en mesure d'obtenir les variables d'environnement qui sont censés être passé par le Plugin Git. Je suis à la recherche de:
GIT_COMMIT
GIT_BRANCH
GIT_PREVIOUS_COMMIT
GIT_PREVIOUS_SUCCESSFUL_COMMIT
GIT_URL
etc. Je suis en utilisant le Pipeline d'Emploi Élément pointant sur un dépôt Github avec le Jenkinsfile avec le code suivant
stage 'PushToProd'
node {
git url: "https://github.com/username/fakeurl.git"
echo "Starting PushToProd"
sh 'printenv'
sh 'env'
sh 'echo $BRANCH_NAME'
sh 'echo $GIT_COMMIT'
}
Je reçois beaucoup de variables d'environnement lorsque j'utilise env
ou printenv
tout simplement pas le Github plugin.
Des conseils sur comment je peux obtenir le Git env variables passées dans l'emploi?
Mise à jour: je suis en mesure d'obtenir facilement le Git env variables lorsque j'utilise un Freestyle Projet et ont une coquille étape, utilisez echo $GIT_COMMIT
. Veux toujours savoir comment le faire fonctionner à l'aide de Jenkinsfile + Pipeline d'emploi de l'élément.
env.VARIABLE
. Je me souviens que env.BRANCH_NAME
œuvres.Double Possible de Jenkins Flux de travail de la Caisse d'Accéder BRANCH_NAME et GIT_COMMIT
OriginalL'auteur NateW | 2016-06-27
Vous devez vous connecter pour publier un commentaire.
Cela ne peut pas fonctionner en raison du manque de guillemets doubles, manque des accolades, et manquant de
env.
:Cela fonctionne comme prévu dans un Jenkinsfile:
Hey @TibinPaul, non, je n'ai pas de conseils pour vous et arrêté à l'aide de Jenkins Pipeline.
OriginalL'auteur Konrad Kleine
Donc, si quelqu'un d'autre qui a trébuché sur cette Stackoverflow question devrait être conscient que c'est un bug avec le pipeline actuel de la situation.
Beaucoup de discussion ici: https://issues.jenkins-ci.org/browse/JENKINS-35230
Essentiellement le plugin n'est pas en mesure d'ajouter correctement les variables d'environnement en raison de certaines incompatibilités avec pipeline.
WOO!! Merci Morgan!
En fait, si vous utilisez le générique
checkout scm
cela ne fonctionne pas.OriginalL'auteur Breedly
C'est corrigé dans la Git plugin 3.3.1
Version 3.3.1 (23 Juin 2017)
OriginalL'auteur Morgan Christiansson
Vous devrez peut-être faire quelque chose comme cela.
OriginalL'auteur Oscar Romero
La plupart du pipeline, les exemples que j'ai trouvé placer le code dans un "nœud" de la fermeture, ce qui ne permet pas à l', Jenkins, Git plugin pour remplir les variables d'environnement.
Toutefois, si, au lieu de vous envelopper comme cela, les variables d'environnement sont définies correctement:
Je ne suis pas sûr de fermetures sont ici crucial, mais cette mise en forme m'a permis d'accéder à des variables d'environnement telles que
env.GIT_COMMIT
OriginalL'auteur Noah Bar-Shain