2013-07-09 26 views
9

我有几个项目,我想有在单独构建配置与略微不同的配置:如何减少类似构建配置的重复?

  • VCS源和建立触发器(即,唯一的区别是使用哪个项目根目录的子目录)
  • 构建步骤(第一少数是完全一样的,但过去的几年可能取决于单元测试将如何运行,依赖等)

就是这样。我研究了构建配置模板,但似乎不允许指定额外VCS根的定制构建步骤的灵活性。

真的,我只是希望不必手动将我们最初的项目构建配置中的(几个)构建步骤复制到多个配置中,并且在事物发生变化时不得不维护它们。看来应该有更好的解决方案?

+0

您正在使用哪个TeamCity版本? [Build Configuration Template](http://confluence.jetbrains.com/display/TCD8/Build+Configuration+Template)适用于我。 –

+0

@ user1177636是的,我认为它最终也会适用于我的案例。我只需要稍微调整参数。 – jwalk

回答

3

我也很想知道这一点,但是我在网上发现的这些数据表明你偏好冗余而不是试图在多个分支机构或项目中重复使用一种配置。

然而,所有的这是发布版本8之前,它引入了提取meta-runner

自己的博客from April 13, 2013提供它们是什么一个很好的总结,以及他们如何从模板不同的能力。

元亚军

元亚军是一个强大的功能提供定制的TeamCity,使之更加以人为本,一个充满希望的新途径。为了理解它,我们来看一个例子。

想象一下,您在不同的构建配置中会重复使用一些重复的任务。该任务被定义为基于内置运行程序的一个或多个构建步骤,如Ant或命令行。很可能您希望在多个构建配置中轻松重复使用此任务。您无法使用模板执行此操作,因为模板会强制您在不同的配置间共享相同的设置,但这并非总是可行。我们建议的解决方案是将Meta Runner从这些步骤中提取出来,了解它在发行说明中的​​工作原理。

我还没有实现这一点,但我会尽快进行测试。它使我认为你应该能够通过存储库作为参数,但我不确定。

+0

感谢您的建议。在使用构建参数进行一些修改之后,我能够使用模板来处理它,但是如果我觉得比它值得的更麻烦,这将是一个很好的选择。 – jwalk

+0

GitHub提供了一些meta-runners的例子:https://github.com/JetBrains/meta-runner-power-pack –

+0

@Pavel for sharing! – Damon