Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Jenkins脚本化管道中使用变量?_Jenkins_Jenkins Pipeline - Fatal编程技术网

如何在Jenkins脚本化管道中使用变量?

如何在Jenkins脚本化管道中使用变量?,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我发现Jenkins忽略了我的变量${BuildFolder},谢谢你的帮助 node { def BuildFolder = '/Build/${JOB_NAME}'+ '.' +'${BUILD_ID}' stage ('prepare'){ sh "echo Build Folder: ${BuildFolder}" sh "rm -rf ${BuildFolder} && mkdir -p ${BuildFolder}" } sta

我发现Jenkins忽略了我的变量
${BuildFolder}
,谢谢你的帮助

node {    
def BuildFolder = '/Build/${JOB_NAME}'+ '.' +'${BUILD_ID}'
stage ('prepare'){        
    sh "echo Build Folder: ${BuildFolder}"
    sh "rm -rf ${BuildFolder} && mkdir -p ${BuildFolder}"
}
stage ('Checkout'){
    checkout([$class: 'GitSCM', 
            branches: [[name: '*/master']], 
            doGenerateSubmoduleConfigurations: false, 
            extensions: [[$class: 'RelativeTargetDirectory', 
                relativeTargetDir: '${BuildFolder}']], 
            submoduleCfg: [], 
            userRemoteConfigs: [[credentialsId: '', 
            url: '']]])      
}

可以在管道块开始之前创建变量。那就应该是工作了

比如说,

def BuildFolder = '/Build/${JOB_NAME}'+ '.' +'${BUILD_ID}'

node 
{    
    stage ('prepare')
    {        
    sh "echo Build Folder: ${BuildFolder}"
    sh "rm -rf ${BuildFolder} && mkdir -p ${BuildFolder}"
    }
 }

通过切换到“${BuildFolder}”可以解决此问题。它不起作用:org.jenkinsci.plugins.workflow.steps.MissingContextVariableException:缺少必需的上下文类hudson.FilePath可能您忘记了在代码中使用提供此功能的步骤,例如:node