2

在 Jenkins(或 Hudson)中,我设置了一个参数化作业的管道,比如 A -> B,使用 Copy Artifact Plugin 从彼此复制工件。所有作业都使用相同的参数,例如目标平台。每个作业都设置为丢弃旧的构建和工件以限制磁盘使用,只保留最新的稳定构建工件。我使用参数化构建来避免必须维护许多仅在参数设置上有所不同的作业。

仅当所有构建在具有相同参数设置的管道中相继运行时,此设置才有效,因此最新的构建工件与相关作业的平台参数设置匹配。现在,如果有人首先为平台 x 构建作业 A,然后为平台 y 构建作业,然后为平台 x 构建 B,则来自 A 平台 x 的工件已经被丢弃,因此 B 无法复制这些工件。

有没有办法告诉詹金斯为每个构建使用不同的参数保留最新的工件并丢弃所有其他的?

4

1 回答 1

0

手动解决方案:将工件从 A 复制到由参数键入的目录中。作业 A 将在构建之前清理目录 - 从而确保过时的工件不会传递给作业 B。作业 B 将在任何情况下运行后清理目录。

于 2012-03-07T13:31:12.510 回答