如何将生成参数/env变量传递到powershell管道

如何将生成参数/env变量传递到powershell管道,powershell,jenkins-pipeline,Powershell,Jenkins Pipeline,我有一个定义管道的Jenkins文件。在这里,我声明了一个调用powerhell管道插件的步骤,我试图使用jenkins环境变量以及构建参数,但没有成功。请参见下面我的步骤定义: stage('publish') { steps { powershell returnStatus: true, script: '$(env:WORKSPACE)\\ci\\scripts\\publish-$(BRANCH).ps1' } } 任何帮助/见

我有一个定义管道的Jenkins文件。在这里,我声明了一个调用powerhell管道插件的步骤,我试图使用jenkins环境变量以及构建参数,但没有成功。请参见下面我的步骤定义:

stage('publish') {
      steps {
            powershell returnStatus: true, script: '$(env:WORKSPACE)\\ci\\scripts\\publish-$(BRANCH).ps1'
      }
    }

任何帮助/见解都将不胜感激。

您的管道存在两个问题:

  • 单引号不会扩展字符串中的变量
  • 要访问变量,请使用${var}而不是$(var)
  • 没错,但您不需要使用env.WORKSPACE,只要使用WORKSPACE就足够了
  • 请尝试一下,您可以在powershell命令之前添加echo,以便查看您试图执行的内容

    stage('publish') {
      steps {
            echo "${WORKSPACE}\\ci\\scripts\\publish-${BRANCH}.ps1"
            powershell returnStatus: true, script: ${WORKSPACE}\\ci\\scripts\\publish-${BRANCH}.ps1"
      }
    }