Comment utiliser des variables d'environnement en groovy de la fonction à l'aide d'un Jenkinsfile
Je suis en train d'utiliser des variables d'environnement définies à l'extérieur d'un nœud dans un Jenkinsfile. Je peux leur apporter, portée sur un pipeline étape de n'importe quel nœud, mais pas à l'intérieur d'une fonction. La seule solution que je peux penser pour le moment est de les passer en paramètres. Mais je voudrais référence les variables d'environnement directement à l'intérieur de la fonction, donc je n'ai pas à passer si de nombreux paramètres. Voici mon code. Comment puis-je obtenir la fonction de sortie de la valeur correcte de BRANCH_TEST
?
def BRANCH_TEST = "master"
node {
deploy()
}
def deploy(){
echo BRANCH_TEST
}
Jenkins sortie de la console:
[Pipeline]
[Pipeline] echo
null
[Pipeline] }
[Pipeline] //node
[Pipeline] End of Pipeline
Finished: SUCCESS
OriginalL'auteur mdo123 | 2016-05-24
Vous devez vous connecter pour publier un commentaire.
Solutions sont
Utiliser @annotation Champ
Supprimer def de la déclaration. Voir Ted répondre pour une explication sur l'utilisation de def.
Solution 1 (à l'aide de @Domaine)
Solution 2 (suppression de def)
Explication est ici,
https://groups.google.com/d/msg/jenkinsci-users/P7VMQQuMdsY/bHfBDSn9GgAJ
Également répondu dans how-do-i-créer et d'accès-le-mondial-variables-en-groovy
import
énoncé dans la réponse.OriginalL'auteur mdo123