我正在尝试使用脚本管道删除位于我的詹金斯工作区中的目录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/"
它按预期工作。我在做什么错了?
答案 0 :(得分:1)
尝试使用括号:
dir ("junit") {
deleteDir()
}