TeamCity Zipped Artifact Dependency

时间:2011-01-07 20:32:50

标签: teamcity

在TeamCity的工件页面上,有一个选项可以将所有工件下载为zip文件。

我想知道你是否可以设置依赖的构建配置来实际获取工件的压缩版本?

我意识到我可以压缩最初创建它们的项目配置中的所有工件,但我宁愿不这样做。

或者,我可以使用像Nant这样的东西,一旦它们被带过就拉上它们,但是我想如果发送的文件首先被压缩,这些工件的传输可能会更快一些。

是否有人知道从其他每个项目中传输压缩工件的方法,或者TeamCity是否支持此工作?

2 个答案:

答案 0 :(得分:17)

是的。这非常简单,至少在当前版本的TeamCity(6.5.3)中。在“主”项目中,创建压缩工件:

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

构建完成后,您将在zip工件中看到所有文件。然后创建一个新的构建配置。您将需要编辑此构建的依赖项并添加新的“工件依赖项”。像这样编辑它的属性:

  1. 取决于:来自上方的主项目的构建配置。
  2. 从中获取工件:上次成功构建
  3. 工件路径:如果您只想复制zip文件,则为*.zip。如果您希望TeamCity为您解压缩zip文件,请使用*.zip!**
  4. 目的地路径:%some.parameter.representing.your.path%
  5. 现在,当依赖构建的运行器启动时,它将从主项目中获取最新的zip存档,并将其解压缩到依赖构建的目标文件夹中。

答案 1 :(得分:0)

您可以通过构建相关配置的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

所有这些都不是很优雅,但应该有效