jenkins - Jenkins通过构建工作分离工作区
问题描述
我们有一个工作,它在构建期间在工作区文件夹中生成一些 html 文件。我们的目标是在构建完成后获取这些文件并压缩它们。
工作的第一步是清理工作空间——确保没有来自以前构建的文件。
当我们开始构建并且有人开始单独构建时,我们的问题就出现了 - 工作区被擦除了。这两个版本都在生成这些 html,并且内容从不同的版本中混合在一起。
如果有人知道我如何将每个构建分开以拥有自己的工作空间,我将非常乐意分享它。我希望这仅适用于一项工作。其他工作必须保留在共享工作区中。
解决方案
这是我一直在寻找的解决方案:
pipeline {
agent {
node {
label 'master'
customWorkspace "${JENKINS_HOME}/workspace/${JOB_NAME}/${BUILD_NUMBER}"
}
}
}
最后,我使用清理来删除每个构建生成的文件夹,如下所示:
post {
cleanup {
deleteDir()
dir("${workspace}@tmp") {
deleteDir()
}
dir("${workspace}@script") {
deleteDir()
}
}
}
谢谢你们