在jenkins中的后期生成脚本中使用工作区位置

在jenkins中的后期生成脚本中使用工作区位置,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,我试图在postbuild shell脚本中使用在工作区post jenkins build中创建的工件 我无法使用它们,因为在生成后期脚本之前,工作区工件会自动被删除 有人能帮我解决这个问题吗?当后期构建阶段运行时,您的工作区已被删除。当您想到它时,您的常规阶段和后期构建阶段甚至可能在不同的节点上运行,因此不能期望文件在您的工作区中 要在后期构建阶段访问工件,您需要手动获取它们,例如使用: post { always { // fetch ar

我试图在postbuild shell脚本中使用在工作区post jenkins build中创建的工件

我无法使用它们,因为在生成后期脚本之前,工作区工件会自动被删除


有人能帮我解决这个问题吗?

当后期构建阶段运行时,您的工作区已被删除。当您想到它时,您的常规阶段和后期构建阶段甚至可能在不同的节点上运行,因此不能期望文件在您的工作区中

要在后期构建阶段访问工件,您需要手动获取它们,例如使用:


    post {
        always {
            // fetch artifacts of this job and this number to $WORKSPACE
            step([
                $class: 'CopyArtifact',
                filter: '*',
                fingerprintArtifacts: true,
                optional: true,
                projectName: "${JOB_NAME}",
                selector: [$class: 'SpecificBuildSelector',
                            buildNumber: "${BUILD_NUMBER}"]
            ])

            script {
                try {
                    for(file in findFiles(glob: "*")) {
                        println "Found file ${file}"
                    }
                } catch(error) {
                    println "Failed to find files"
                }
            }
        }
    }