有没有一种方法可以保存/归档同一构建中的多个工件?
Jenkins只允许单个“归档工件”后构建步骤,使用一次后该选项将变为灰色。
也许ArtifactsArchiver
允许多个模式?
有没有一种方法可以保存/归档同一构建中的多个工件?
Jenkins只允许单个“归档工件”后构建步骤,使用一次后该选项将变为灰色。
也许ArtifactsArchiver
允许多个模式?
target/*.jar
来归档多个构件。target/*.jar, target/*.war
。,
如之前回答中所述,来分隔不同的文件集。 - Larry CaiarchiveArtifacts '<folder_name>/**
。 - Mohnish你可以用逗号分隔路径,像这样:
XXX.UnitTests\bin\Release\**.* , XXX.WriteAPI.Service/bin/Release/**.*
然后您将获得两个独立的工件。
有关Ant模式语法的详细信息,请参见http://ant.apache.org/manual/Types/fileset.html。
如果您想保存两种不同类型的文件,例如zip文件和html文件,那么可以使用
*.html,*.zip
它将帮助你将该目录中的所有zip文件和html文件归档。
以下是 Steven the Easily Amused 在底部排名答案中的评论,为了更好的可见性,您可以运行两次:
请注意步骤名称是复数形式。可以随意多次运行管道步骤 archiveArtifacts,但使用 Ant 样式模式一次性运行效果更佳。当调用 archiveArtifacts 时,它会将所选文件传输回主服务器,并在那里存储。同样,可以多次运行 copyArtifacts 以选择所有或部分存档的工件。
这里的所有答案都展示了如何将多个文件模式组合成一个构件,而这不是OP所要求的。
所要求的示例是具有编译为QA、Staging和Production JavaScript的环境特定设置的单页面Web应用程序构建。
由于您希望将相同的构建部署到多个环境中,因此您需要3个构建,每个构建都有自己的环境设置。在部署存档时,您不希望将所有3个内容部署到每个环境中并仅提取该环境的内容,因为每次复制比所需的多66%是昂贵且容易出错的。
因此,生成2个或更多构件到它们自己的构件中是合理的,并根据目标环境部署其中1个构件。
Jenkins应支持多个构件,而不仅仅是使1个构件变得更大。
copyArtifacts filter: 'production/**', projectName: 'UPSTREAMJOB' ...
假设生产内容都保存在单个文件夹中。即使是自由风格的作业也具有相同的复制工件运算符选择器。您还可以选择保留目录结构或扁平化它。 - Steven the Easily Amused
archiveArtifacts
,甚至可以在post
步骤之前调用它。在这种情况下,当调用archiveArtifacts
时,该构件将可用,而不是在构建完成时才可用。 - Starwarswii