У меня проблемы с доступом к переменной среды, которую я определил в Jenkinsfile (Groovy). Моя ситуация такова, что я могу получить доступ к переменной на любом шаге за пределами PowerShell '' '' '', но когда я пытаюсь получить доступ к ней внутри PowerShell, то это дает нулевое значение.
pipeline {
environment {
APP_BUILD = ''
BUILD_NUM = ''
APP_NAME = ''
}
agent {
label 'test'
}
stages {
stage('set env Variables ') {
steps{
script {
APP_BUILD = "name"
echo APP_BUILD
//prints name which is expected and fine
powershell '''
echo $env:APP_BUILD // does ot print anything
echo $env:BUILDNUMBER // prints the build number
'''
}
}
}
}
}
Я пытался найти решение, в котором говорится, что если я использую powershell "" "" "", это может сработать, но тогда я не могу назначить его другой переменной, как показано в коде ниже
pipeline {
environment {
APP_BUILD = ''
BUILD_NUM = ''
APP_NAME = ''
}
agent {
label 'test'
}
stages {
stage('set env Variables ') {
steps{
script {
APP_BUILD = "name"
echo APP_BUILD
//prints name which is expected and fine
powershell """
echo ${env:APP_BUILD} // prints output as expected
echo $env:BUILDNUMBER // prints the build number
$build=${env:APP_BUILD} // gives an error saying groovy.lang.MissingPropertyException: No such property: build for class: groovy.lang.Binding
"""
}
}
}
}
}
затем выводится эхо-вывод, но каждый раз, когда я пытаюсь присвоить переменную окружения другой локальной переменной, выдается сообщение об ошибке groovy .lang.MissingPropertyException: такого свойства нет: build для класса: groovy. lang.Binding
Пожалуйста, дайте мне знать, если кто-нибудь сталкивался с подобными ситуациями и решил их.