teamcity ant多个项目构建

时间:2011-02-15 12:50:14

标签: ant teamcity

我希望你们能帮助我。 我的问题如下: 我有两个项目,每个项目在不同的svn root中相互依赖。 我所做的就是构建第一个,获取它的工件并将其手动复制到我想要的第二个项目中,然后运行第二个构建。 我希望能够运行1个构建它可以是一个新的ant build.xml文件,它将运行第一个构建,将其产品复制到我想要的地方,然后运行第二个构建。

第二个选项在teamcity中运行那些具有依赖关系的项目。我不知道该怎么做以及如何将第一个项目工件传递到第二个项目中需要它的正确文件夹中。

也许有人知道如何做到这一点。

感谢。

1 个答案:

答案 0 :(得分:2)

TeamCity的Artifact Dependencies似乎是最好的选择 假设你有ProjectA和ProjectB:

  1. 配置TeamCity以从ProjectA发布文件:

    • 打开ProjectA的General Settings配置步骤。
    • 使用发布文件的相对路径填写Artifact paths字段。 TeamCity将在构建完成后收集这些文件。
    • 构建ProjectA以确保正确收集工件。工件必须在构建结果页面上可用(请参阅工件选项卡)。
    • 有关详细信息,请参阅documentation for artifacts

  2. 为ProjectB配置工件依赖项:

    • 打开ProjectB的Dependencies配置步骤,添加新的工件依赖
    • Depend on - 选择ProjectA
    • Get artifacts from: - 使用你需要的任何东西。可能,最后一次成功构建。
    • Artifacts - 从ProjectA输入工件路径。您可以使用弹出窗口选择具有UI的工件。
    • Destination path - 输入目标路径,其中将复制工件。路径相对于结帐目录
    • 有关详细信息,请参阅documentation for artifact dependencies
  3. 现在,每次开始构建ProjectB时,它都会从上次成功构建ProjectA时下载工件。
    如果您希望同时启动这些构建,请将Snapshot dependency(在ProjectA上)添加到ProjectB。使用快照依赖,每次启动ProjectB时,它将首先触发ProjectA,等待ProjectA构建完成,并且(如果对ProjectA的“上次成功构建”具有工件依赖性)下载新的工件。