如何自定义Jenkins归档工件插件构建操作的文件名?

时间:2015-03-16 09:25:17

标签: jenkins jenkins-plugins

Jenkins归档工件插件压缩文件到" archive.zip"文件。它始终具有相同的文件名。更重要的是,Jenkins实际上并没有存档(没有任何" archive.zip"文件在#34; builds"目录中)。詹金斯只是映射网址

https://www.my-jenkins-server.com/jenkins/job/ $ JOB_NAME / $ job_number /伪像/ *拉链* / archive.zip

并始终返回作业目录中的所有内容,这些内容与在post build action archive artifact插件中配置的模式匹配。

问题是,该作业本身会生成ZIP存档,因此我需要以原始名称发布此存档。这很重要,因为归档的名称阐明了作业的所有者,内部数据,用于运行作业的参数。我们假设用户使用不同的参数运行了10次工作,并且在下次运行之前不要等待每个作业完成。稍后用户将开始下载结果并获得

archive.zip
archive(1).zip
archive(2).zip
...
archive(10).zip

现在,他需要从下载的档案中提取档案,以获得10个具有限定名称的档案。然后删除那些下载的存档。之后,通过合格的存档名称识别他实际需要的名称,然后删除其余部分。这里容易犯错误,删除或遗漏档案文件。

我的解决方案是:

  1. 由作业档案根据其原始名称发布。

  2. 生成我的文件和表单存档文件名,应该提供服务,跳过工作内部的压缩。最后一步,将此文件名作为参数传递到存档工件插件构建操作,因此Jenkins将以作业本身配置的特殊名称提供存档。

2 个答案:

答案 0 :(得分:1)

您可以在归档步骤后运行任何后构建脚本(shell / batch / powershell),并将archive.zip重命名为archive _ $ {BUILD_NUMBER} .zip,以便您可以通过上次成功构建轻松跟踪归档工作的数量。但要做到这一点,首先需要清理工作区,以便根据内部版本号跟踪存档文件。

答案 1 :(得分:0)

zip文件的名称由包含工件的目录确定(请参阅Jenkins source)。

  • 在内部,最顶层的工件目录的名称为archive,这就是为什么您总能看到archive.zip

  • 相反,这意味着您可以通过将工件放在(子)目录xyz.zip中来获取自定义zip文件xyz

没有其他选项可以更改名称。

相关问题