无法使用基本Jenkins管道步骤有条件地删除工作空间内的目录

时间:2018-08-31 12:18:20

标签: jenkins jenkins-pipeline

我正在尝试使用脚本管道删除位于我的詹金斯工作区中的目录junit

node {
        stage('Build') {

            checkout scm
            app = docker.build("...")
        }

        stage('Test') {


                app.withRun("--name = ${CONTAINER_ID} ...") {

                    // sh "mkdir -p junit"
                    // sh "rm -rf junit/"
                    dir "junit" {
                        deleteDir
                    }


                    sh "docker exec ${CONTAINER_ID} /bin/bash -c 'source venv/bin/activate && python run.py test -x junit'"

                    sh "docker cp ${CONTAINER_ID}:/home/foo/junit junit"
                }
        }

        junit 'junit/*.xml'
}

但是我遇到了以下(红色麻烦吗?)错误,例如

  

java.lang.ClassCastException:   hudson.tasks.junit.pipeline.JUnitResultsStep.testResults需要类   java.lang.String但收到的类   org.jenkinsci.plugins.workflow.cps.CpsClosure2

但是,当我使用shell步骤时:

sh "mkdir -p junit"
sh "rm -rf junit/"

它按预期工作。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

尝试使用括号:

dir ("junit") {
    deleteDir()
}
相关问题