【问题标题】:TeamCity Zipped Artifact DependencyTeamCity 压缩工件依赖项
【发布时间】:2011-01-07 20:32:49
【问题描述】:

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

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

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

或者,我可以使用 Nant 之类的东西来压缩它们,但我想如果发送的文件首先被压缩,那么这些工件的传输可能会更快一些。

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

【问题讨论】:

  • 你找到答案了吗?

标签: teamcity


【解决方案1】:

是的。这非常简单,至少在当前版本的 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%

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

【讨论】:

    【解决方案2】:

    您可能可以在第一个构建步骤中手动获取压缩的工件,方法是构建依赖配置的 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

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

    【讨论】:

      猜你喜欢
      • 2011-07-19
      • 2016-12-25
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      • 2017-11-17
      • 2013-10-22
      相关资源
      最近更新 更多