TeamCity压缩文件依赖项

9
在TeamCity的工件页面上,有一个选项可以将所有工件下载为zip文件。
我想知道是否可以设置依赖构建配置来实际获取工件的压缩版本?
我知道我可以在最初创建它们的项目配置中压缩所有工件,但我不想这样做。
或者,我可以使用类似Nant的工具在它们被传送过来后再进行压缩,但我想如果一开始发送的文件已经被压缩,那么传输这些工件可能会更快。
是否有人知道从每个其他项目传输压缩的工件的方法,或者这是否由TeamCity支持?

你有没有找到这个问题的答案? - reach4thelasers
2个回答

17

是的,这很简单,至少对于当前版本的TeamCity(6.5.3)来说是这样的。在你的“主”项目中,创建压缩的构件:

Yep. 这很简单,至少对于当前版本的TeamCity(6.5.3)来说是这样的。在您的“主”项目中,创建压缩文件构件:

MyProjectBuildFolder\** => mybuild-%system.build.number%.zip

在构建完成后,您将在zip存档中看到所有文件。然后创建一个新的构建配置。您需要编辑此构建的依赖项并添加新的“artifact dependency”。按照以下方式编辑其属性:

  1. 依赖于:上述主项目的构建配置。
  2. 获取工件来自:最后一次成功的构建
  3. 工件路径:如果您只想复制zip文件,那么这将是*.zip。如果您希望TeamCity为您解压缩zip文件,请使用*.zip!**
  4. 目标路径:%表示您路径的某些参数%

现在,当依赖构建的运行器启动时,它将从主项目中获取最新的zip归档文件,并将其解压缩到依赖构建的目标文件夹中。


0

在你的第一个构建步骤中,你可以手动获取压缩的构件,方法是构造依赖配置的URL。在构建过程中,你可以获取你的依赖构建的参数,这些参数可以帮助你构建URL。

URL看起来像这样: http://your.server/(guestAuth|httpAuth)/repository/downloadAll/bt457/12345:id/artifacts.zip

其中bt457是你的构建配置ID, 12345是依赖构建的构建ID,你应该能够在你的构建中作为系统属性dep.bt457.teamcity.build.id获取到

在这里阅读更多信息:http://confluence.jetbrains.net/display/TCD6/Predefined+Build+Parameters#PredefinedBuildParameters-DependenciesProperties

所有这些都不是非常优雅,但它应该可以工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接