Jenkins将无法删除其自己的工作目录确实很有意义。我猜您可以做的就是首先保存要保存的工件(如Daniel所述),然后触发第二项工作(例如delete- job
),该job A
工作负责清理工作区。它看起来像这样:
// First save out anything you want
archiveArtifacts artifacts: '**/saveme.log'
// At the very end of your pipeline, call delete-job with the path you want to delete as a build parameter
build job: 'delete-job', quietPeriod: 5, wait: false, parameters: [[$class: 'StringParameterValue', name: 'folderToDelete', value: "${pathToFolderToDelete}"]]
delete-job
看起来就像这样:
node() {
bat "del /F '${pathToFolderToDelete}'"
}
哪里pathToFolderToDelete
是基于作业参数詹金斯自动infered的变量。