我使用Jenkins与管道脚本。在脚本结束时,我想删除/移动JenkinsjobsMyMultiBranchbranchesmasterbuilds
的一些内容(即一些日志和build.xml)
如何使用Pipeline来完成?我试过这个;
bat "del /F "C:\Program Files (x86)\Jenkins\jobs\MyMultiBranch\branches\master\builds\%BUILD_NUMBER%\build.xml""
但是它不起作用,文件还在那里。有人能帮忙吗?
Jenkins不能删除自己的工作目录是有道理的。我猜您可以做的是首先保存您想要保存的工件,然后触发第二个作业(例如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根据作业参数自动推断的变量