【问题标题】:How to exclude the VCS root in the template in particular sub projects?如何在特定子项目的模板中排除 VCS 根?
【发布时间】:2017-06-05 01:25:05
【问题描述】:
我在模板中添加了一个 VCS 根,并且该模板在主项目中。
我的项目层次结构如下所示:
MAIN-PROJ --> SUB-PROJ1 --> SUB-SUB-PROJ1.......PROJN
--> SUB-PROJ2 --> SUB2-SUB_PROJ1.......PROJN
MAIN-PROJ 包含我的配置模板,并且我已向其中添加了 VCS 根。我不想在 SUB-PROJ2 和它的子项目中使用 VCS 根目录。
如何实现?
【问题讨论】:
标签:
build
teamcity
devops
teamcity-9.0
【解决方案1】:
你可以把你的VCS规则放到parameter,以后每个子项目可以根据需要重新定义:
可以在不同的级别定义参数(按优先顺序):
- 在特定构建中(通过“运行自定义构建”对话框)
- 构建配置设置(构建配置设置的构建参数页面)或构建配置模板
- 项目设置(项目设置的参数页面)。这些会影响项目及其子项目中的所有构建配置和模板。
- 代理(代理上的/conf/buildAgent.properties 文件)
【解决方案2】:
您不能在 TeamCity 中覆盖 VCS Root。这仅对属性是可能的。
您可以从模板中排除 VCS Root,而只为那些真正需要它的构建添加它。
这在逻辑上也是正确的,因为如果不是该模板的所有实现都使用它,那么在模板中包含 VCS Root 就没有意义了。
您不会有重复,因为您在所有需要它的构建中重复使用相同的 VCS 根。