仅归档 katalon jenkins 作业中的最新 .png 文件

Posted

技术标签:

【中文标题】仅归档 katalon jenkins 作业中的最新 .png 文件【英文标题】:Archive only the latest .png files in a katalon jenkins job 【发布时间】:2020-01-10 14:42:32 【问题描述】:

我需要将 Jenkins 中最新的 katalon 测试运行的任何 .png 屏幕截图存档,作为同一测试运行的构建后步骤。

使用 Jenkins 中的“归档工件”构建后操作,我目前将文件路径设置为 Reports/**/[test run name]/**/*.png,其中 Reports 位于工作区目录中。但是,这只会从存储在那里的当前和所有以前的测试运行中提取每个 .png 文件,其中在被清理之前会在工作区中存储一周。

我已尝试使用“排除”字段,但无法找到排除旧文件的方法,只能使用带有通配符的文件路径。

在 Jenkins 中是否有一种方法,使用存档工件或其他方式,仅存档由同一作业生成的 .png 文件,而不删除所有先前生成的 .png 文件?

【问题讨论】:

【参考方案1】:

根据我们的经验,最好将工件与作业一起存档,而不是依赖驻留在工作区中的文件以及单独的作业来清理它们。您可以通过以下方式告诉 Jenkins 丢弃旧的构建(和工件):

pipeline 
  options 
        buildDiscarder(logRotator(daysToKeepStr: '7', artifactDaysToKeepStr: '7'))
  

所有作业(及其工件)将在 7 天后清理。

如果您使用该路径,则可以在将任何 png 文件归档为工件后安全地删除它们,并且您无需找出哪些是新的,哪些是旧的。

或者,您可以命令png-produce 步骤来命名以作业编号开头的文件(可用作env.BUILD_NUMBER)并仅归档以该编号开头的文件。

最后,您可以运行带有-name '*png'-mtime 谓词的find 命令以生成最近修改的png 文件列表,并将其用作归档步骤的输入。

【讨论】:

以上是关于仅归档 katalon jenkins 作业中的最新 .png 文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Jenkins 中执行 Artifacts 时存档文件压缩

在 Jenkins Artifacts 中仅归档 aspx 页面

Katalon Debian 无头浏览器

是否可以在 Jenkins 测试作业中下载原始 xml 文件

Jenkins 可以为同一个 Maven 作业支持 2 个 Java 版本吗?

在 jenkins 中创建存档工件的 zip