Jenkins - 如何清理/移动'builds'目录下的文件

时间:2016-08-22 12:11:13

标签: jenkins jenkins-pipeline

我正在使用Jenkins和Pipeline脚本。在脚本的最后我想删除/移动Jenkins\jobs\MyMultiBranch\branches\master\builds的一些内容(即一些日志和build.xml)

如何使用Pipeline完成? 我试过了;

bat "del /F \"C:\\Program Files (x86)\\Jenkins\\jobs\\MyMultiBranch\\branches\\master\\builds\\%BUILD_NUMBER%\\build.xml\""

但它不起作用,文件仍在那里。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

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}"]]

安静时段应该足以让删除作业能够删除您的job A文件夹。

delete-job看起来就像这样:

node() {
  bat "del /F '${pathToFolderToDelete}'"
}

其中pathToFolderToDelete是Jenkins根据作业参数自动输入的变量。

相关问题