Teamcity在自动检测到依赖关系发生变化时触发构建

时间:2014-01-06 09:24:13

标签: visual-studio msbuild teamcity nuget

我们正在使用Teamcity持续集成大量的Visual C ++项目,Nuget用于管理项目之间的依赖关系。

所有项目都是使用简单的元运行程序在Teamcity中构建的:

  1. 从Teamcity Nuget工件服务器
  2. 恢复Nuget
  3. 使用较新版本更新Nuget
  4. 运行MSBuild以完成构建
  5. 为新项目创建一个新的Nuget文件,并将其发布到Teamcity Nuget服务器。
  6. 当您查看这样构建的构建配置时,您可以看到Teamcity自动检测到Nuget依赖项 - 如果我选择已完成的构建,我可以看到它在依赖项选项卡下列出了所有的Nu​​gets消耗的构建,我不需要在构建配置的“依赖关系”设置中指定它们。 Teamcity还在构建配置列表中显示了哪些构建配置具有来自上游依赖项的挂起更改。

    现在我希望Teamcity在看到这些挂起的更改时,将触发构建以验证上游更改是否未破坏下游项目。

    我查看了Nuget依赖项触发器,但它要求我指定要跟踪的包ID。但是依赖包可以改变 - 它们没有在Teamcity中指定,而是在Visual Studio项目文件中指定,我们希望移动依赖项(主要是为了减少交叉依赖性),所以我不想将依赖结构硬编码到TeamCity的。

    知道如何让Teamcity对其自动检测到的依赖关系进行操作吗?

1 个答案:

答案 0 :(得分:0)

目前没有开箱即用的可能性。查看http://youtrack.jetbrains.com/issue/TW-30006和upvote,这样我们就可以让Jetbrains实现这项急需的功能。

另一种可能性是创建一个触发器插件:http://rockycode.com/blog/writing-custom-build-trigger-teamcity/。如果您最终编写自己的插件,请务必与社区分享=)