gpt4 book ai didi

jenkins - 在 Powershell 脚本中传递 Jenkins 环境变量

转载 作者:行者123 更新时间:2023-12-03 15:57:25 25 4
gpt4 key购买 nike

我想在 powershell 脚本中使用 jenkins 环境变量。这里 ${destination} 在 powershell 脚本中为空。无法确定我在做什么错误。请帮忙
!/bin/groovy
管道{

agent {
label {
label ""
customWorkspace "C:\\Jenkins\\workspace"
}
}
environment {

def destination=''
}
options {
timestamps()
timeout(time: 60, unit: 'MINUTES')
skipDefaultCheckout(true)
disableConcurrentBuilds()
}

stages {

stage('TEST')
{
steps {
script{
destination="\\\\SERVERNAME\\d\$"
}
echo "${destination}"

powershell '''

$destinationPath ="${destination}"

write-host $destinationPath

write-host "test3" '''

}
}
}
post {
always {
deleteDir()
}
}

最佳答案

您可以使用以下两种方法之一来解决此问题,以最适合您的为准:

  • 使用 """而不是 ''' 可以将 destination 替换为其值。使用这种方法时,您应该转义 Powershell 的变量标识符以避免不必要的替换,例如:\$destinationPath = "${destination}"
  • 将您的 Jenkins 变量导出为环境变量:
    withEnv(["DESTINATION=$destination"]) {
    powershell '''
    $destinationPath ="$env:DESTINATION"
    ...
    '''
    }
  • 关于jenkins - 在 Powershell 脚本中传递 Jenkins 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50547232/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com