Comment obtenir la version actuelle du nom de nœud dans jenkins à l'aide de groovy
J'ai un pipeline de travail en cours d'exécution dans Jenkins et je veux savoir le nom du nœud, il est en cours d'exécution sur. Est-il possible d'obtenir le nom de nœud de l'intérieur le travail du script Groovy?
J'ai essayé le code ci-dessous:
print currentBuild.getBuiltOn().getNodeName()
l'erreur est:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified method org.jenkinsci.plugins.workflow.job.WorkflowRun getBuiltOn
J'ai aussi essayé ceci:
def build = currentBuild.build()
print build.getExecutor().getOwner().getNode().getNodeName()
mais le résultat est ".
OriginalL'auteur nanci | 2017-06-26
Vous devez vous connecter pour publier un commentaire.
Il y est une variable d'environnement 'NODE_NAME' qui est ce.
Vous pouvez y accéder comme ceci:
Lors de la modification d'un pipeline d'emploi, vous pouvez trouver toutes les variables d'environnement disponibles en allant sur le "pipeline de la syntaxe" lien "aide" (à gauche de la page), puis recherchez la section "Variables Globales" et cliquez sur par le biais de la "Global Variables de Référence". Il y a une section "env" qui répertorie les variables d'environnement disponibles.
NODE_NAME = null
. Est-ce un bug dans le pipeline?Vous obtenez la valeur null si le pipeline de ne pas allouer un nœud - dire si vous avez de l'agent "aucun" dans un déclarative pipeline. C'est à l'aide d'un "poids mouche exécuteur testamentaire" sur Jenkins qui ne déclare pas un nœud ou prendre un exécuteur testamentaire - il est indiqué ici: github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL.md
OriginalL'auteur macg33zr