Ich habe eine deklarative Jenkinsfile mit dem environment { }
Block, um einige Umgebungsvariablen festzulegen.Deklarative Jenkinsfile mehrere Umgebung vars mit dem gleichen Wert
Nehmen wir an, ich habe zwei vars FOO
und BAR
(in dieser Reihenfolge deklariert), dass ich aus beiden Gründen auf den Wert nurse
setzen muss.
Gibt es eine Möglichkeit, die FOO
var bei der Zuweisung an BAR
zu referenzieren, so dass ich nur nurse
an einer Stelle explizit setzen muss?
Ich versuchte BAR = env.FOO
und BAR = FOO
tun, die beide nicht, und die docs scheinen nicht viel Anleitung für einen solchen Anwendungsfall zur Verfügung zu stellen ...
Hier ist eine grobe Mockup von dem, was ich bin derzeit mit (glorreiche Wiederholung in Takt):
#!/usr/bin/env groovy
pipeline {
agent any
environment {
FOO = 'nurse'
BAR = 'nurse'
}
}
Ich sollte beachten, dass dieser Ansatz (wirklich wirklich seltsam) scheint zu scheitern, wenn Sie mehrere Envars interpolieren - ich hatte einen Fall, wo ich einige Envar 'FOO' basierend auf einem Build-Parameter gesetzt, dann wollte das interpolieren ein envar 'BAR', das bereits den' WORKSpace' envar interpoliert hatte; nachdem ich interpoliert habe wie 'BAR =" $ {env.WORKSPACE}/xyz _ $ {env.FOO} .db "', 'BAR' war nirgendwo zu finden! –