Jenkins为同一构建的多个工件

时间:2015-09-28 13:02:43

标签: jenkins jenkins-plugins

有没有办法从同一个版本中保存/存档多个工件?

詹金斯只允许单一的“归档文物”#39;构建后步骤,并在使用一次后将灰色选中。

也许ArtifactsArchiver允许多种模式?

6 个答案:

答案 0 :(得分:75)

您可以使用Ant-style pattern,例如target/*.jar用于存档多个工件。

如果您的文件无法与一种模式匹配,则可以使用以逗号分隔的模式列表,例如: target/*.jar, target/*.war

?输入字段旁边的按钮显示此信息。

答案 1 :(得分:24)

您可以用逗号分隔路径,如下所示:

XXX.UnitTests\bin\Release\**.* , XXX.WriteAPI.Service/bin/Release/**.*

然后你会得到两个独立的文物。

有关 Ant Pattern 语法的详细信息,请参阅http://ant.apache.org/manual/Types/fileset.html

答案 2 :(得分:6)

如果要保存两种不同类型的文件,如zip文件和html文件,则可以使用

predictions = theta(2, 1)*(exp(X*theta(3, 1))) + theta(1, 1); %hypothesis              
sqrErrors = (predictions - y).^2;    
J = sum(sqrErrors)/(2*m);

它可以帮助您归档该目录中的所有zip文件和html文件。

答案 3 :(得分:3)

不,jenkins不提供一个要保存的工件。例如,您可以将通配符模式用于任意数量的工件 所有罐子 - ** / * .jar 所有战争 - ** / *。战争 等等。

** /表示任何目录。

答案 4 :(得分:0)

这里的所有答案都显示了如何将多个文件模式组合成1个工件,这不是OP所要求的。

一个要求的示例是拥有类似于Single Page Web应用程序构建的内容,该应用程序将环境特定的设置编译到JavaScript中以进行质量检查,登台和生产。

由于您希望将同一内部版本部署到多个环境,因此需要3个内部版本,每个内部都有自己的环境设置。部署归档文件时,您不希望将这3种内容都部署到每个环境中,而只提取该环境中的内容,因为每次复制所需的内容比每次所需的复制量高66%,而且很容易出错。

因此,根据目标环境,在自己的工件中生成2个或更多构建并部署其中的1个是合理的。

Jenkins应该支持多个工件,而不仅仅是增加1个工件。

答案 5 :(得分:0)

复制@Steven the Easy Amused 对可见性排名最低的答案之一的评论。你可以运行两次:

<块引用>

请注意,步骤名称是复数形式。一个可以运行 archiveArtifacts - 管道步骤 - 尽管它更有效 使用 Ant 样式模式运行一次。调用 archiveArtifacts 时 将选定的文件传输回主文件所在的位置 存储。同样可以多次运行 copyArtifacts 来选择 全部或部分存档工件。