存在于sh块中的Jenkins管道文件在后续步骤中不存在

时间:2017-05-10 02:08:53

标签: jenkins jenkins-pipeline

这是我的舞台剧

stage('Test') {
            steps {
                echo 'Testing ${env.JOB_NAME}:${env.BUILD_ID} on ${env.JENKINS_URL}..'
                sh """
                    docker run -v /tmp/work/report:/report ${env.REPO}:${env.BUILD_ID} ./manage.py jenkins --enable-coverage --output-dir=/report
                    ls /work/report
                    cat /work/report/*.xml
                """
                archiveArtifacts artifacts: '/work/report/*.xml'
                // junit '/work/report/*.xml'
            }
        }

文件出现在' sh'阻止,作为ls和cat显示的输出。但是,在下一步' archiveArtifacts'和(如果我启用它)junit,找不到文件。我错过了什么?

1 个答案:

答案 0 :(得分:0)

你是mounting the local folder /tmp/work/report to /report,但是你正在测试/work/report

还要确保在管道外测试它,手动运行docker:当容器退出时,它可能会重置其内容。