Jenkins 在构建后操作中查找工件

Jenkins 在构建后操作中查找工件,jenkins,jenkins-plugins,Jenkins,Jenkins Plugins,简言之: 如何访问在生成或生成后操作中启动的shell脚本中生成的工件的位置 长话短说: 我正在尝试设置一个jenkins作业来自动构建和传播debian包。 到目前为止,我已经成功地使用来执行构建过程,这样jenkins就可以在成功完成任务后呈现最终工件: mypackage_1+020200224114528.NOREV.4_all.deb mypackage_1+020200224114528.NOREV.4_amd64.buildinfo mypackage_1+020200224114

简言之:

如何访问在生成或生成后操作中启动的shell脚本中生成的工件的位置

长话短说:

我正在尝试设置一个jenkins作业来自动构建和传播debian包。 到目前为止,我已经成功地使用来执行构建过程,这样jenkins就可以在成功完成任务后呈现最终工件:

mypackage_1+020200224114528.NOREV.4_all.deb
mypackage_1+020200224114528.NOREV.4_amd64.buildinfo
mypackage_1+020200224114528.NOREV.4_amd64.changes
mypackage_1+020200224114528.NOREV.4.dsc
mypackage_1+020200224114528.NOREV.4.tar.xz
现在,我还想将部署过程自动化到本地reprepro存储库中,这实际上只需要一个简单的shell脚本调用

我的问题是:我找不到方法来确定该部署脚本要操作的工件位置。“debian pbuilder”插件在临时目录($WORKSPACE/binaries.tmp1556769074909346949)中生成工件,该目录随每次构建而变化

由于工件在finished job status视图中正确列出,我希望工件的详细信息会提供给脚本(例如,通过环境变量)。但事实显然并非如此。 我已经广泛地搜索了一个解决方案,但没有找到任何有用的。 或者是我(在詹金斯还是个新手)在这里采用了wron方法?

你可以使用。工作区中有
binaries.tmp
目录,您可以使用它,但在执行清除工作区之前,请使用
deleteDir()

管道示例:

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                deleteDir()
                ...
            }
        }
    }

    post {
        always {
            archiveArtifacts artifacts: 'binaries*/**', fingerprint: true
        }
    }
}
你也可以查一下