Svn 我应该将TeamCity的风投根源指向哪里?

Svn 我应该将TeamCity的风投根源指向哪里?,svn,msbuild,continuous-integration,teamcity,Svn,Msbuild,Continuous Integration,Teamcity,我正在建立TeamCity,我想知道应该使用什么作为VCS根 我的svn存储库位于 我应该将VCS根目录设置为还是使用主干文件夹 现在我没有使用trunk文件夹,我必须将构建运行程序“Build file path”设置为“trunk/MyProject1.proj”(使用msbuild) 哪个位置是合适的?您应该使用…/trunk/因为它将加快签出速度,否则TeamCity也将获得构建可能不需要的所有分支机构。我建议将其用作VCS根目录,然后使用签出规则限制签出哪些文件夹 添加以下签出规则(生

我正在建立TeamCity,我想知道应该使用什么作为VCS根

我的svn存储库位于

我应该将VCS根目录设置为还是使用主干文件夹

现在我没有使用trunk文件夹,我必须将构建运行程序“Build file path”设置为“trunk/MyProject1.proj”(使用msbuild)


哪个位置是合适的?

您应该使用…/trunk/因为它将加快签出速度,否则TeamCity也将获得构建可能不需要的所有分支机构。

我建议将其用作VCS根目录,然后使用签出规则限制签出哪些文件夹

添加以下签出规则(生成配置的第2节):

您可能还需要将msbuild文件的位置更新为

  MyProject1/trunk/MyProject1.proj
并将工作目录设置为

  MyProject1/trunk
这看起来确实需要做很多工作,但是下次您想要添加新的构建时,您不必创建新的VCSroot

然而,当TeamCity调查您的SVN回购协议时,真正的好处就来了。轮询repo一次将发现所有构建的所有更改。如果您的存储库托管在sourceforge或googlecode之类的地方,这一点尤其重要。您当然不想为您配置的每个构建轮询他们的服务器


此外,如果您的回购协议由第三方托管,您可能希望将vcsRoot的检查间隔设置为每小时一次或类似。如果您不想等待一个小时过去,您可以随时要求teamcity从任何构建概述页面上的操作菜单中检查挂起的更改。

到目前为止,我使用../trunk作为根目录。这很好,因为在我的例子中,所有的项目都位于主干之下,所以我可以轻松地完成整个签出


但是标签功能不起作用,因为您需要使用“trunk=>tags”之类的规则和作为这些目录父目录的根目录。由于我想为每个发布版本添加标签,我现在考虑将布局更改为类似于CrazyCoder建议的布局。

我不得不稍微控制一下CI服务器的部署,但一旦我有时间完成,我会尝试你的建议。你可以在结帐规则中重新映射目的地,如下所示:
+:/MyProject1/trunk=>。
。这将签出trunk的内容作为生成的根文件夹,因此msbuild文件的位置仅为
MyProject1.proj
。此外,您可以将工作目录保留为空。您可以通过修改签出规则来解决获取分支、标记等的问题。
  MyProject1/trunk