2009-10-13 2 views
20

Я настраиваю TeamCity, и мне интересно, что следует использовать в качестве корня VCS. хранилищеК чему я должен указать корень VCS TeamCity?

Мой СВН расположен в http://obfuscatedserver/svn/main/MyProject1/

Должен ли я установить VCS корень в http://obfuscatedserver/svn/main/MyProject1/ или использовать папку магистральный в http://obfuscatedserver/svn/main/MyProject1/trunk/?

Прямо сейчас я не, используя папку соединительной линии, и мне пришлось установить для параметра «Путь сборки» «Build file path» значение «trunk/MyProject1.proj» (используя msbuild).

Какое место является подходящим?

ответ

24

Я бы рекомендовал использовать http://obfuscatedserver/svn/main/ в качестве корня VCS, а затем ограничивать, какие папки выставляются с помощью правил выписки.

Добавьте следующие правила проверочные (раздел 2 из сборки конфигурации):

+:/MyProject1/trunk 

Вы, вероятно, также необходимо обновить местоположение файла MSBuild для

MyProject1/trunk/MyProject1.proj 

и установить рабочую Справочник до

MyProject1/trunk 

Это похоже на большую работу, но в следующий раз, когда вы захотите добавьте новую сборку, вам не нужно создавать новый VCSroot.

Однако реальная выгода придет, когда TeamCity опросит ваше репо SVN. Опрос вашего репо однажды обнаружит все изменения для всех ваших сборок. Это особенно важно, если ваш репозиторий размещен где-то вроде sourceforge или googlecode. Вы, конечно же, не хотите, чтобы они проверяли свои серверы для каждой сконфигурированной вами сборки.

Кроме того, если ваше репо размещено третьей стороной, вы можете установить интервал проверки vcsRoot на один час или аналогичный. Вы всегда можете попросить teamcity проверить ожидающие изменения в меню действий на любой странице обзора сборки, если вас не беспокоит, ожидая, что час истечет.

+0

Мне пришлось немного удержать развертывание нашего CI-сервера, но как только я получу время, чтобы закончить его, я попробую ваше предложение. –

+4

Вы можете переназначить пункт назначения в правиле проверки так: '+:/MyProject1/trunk => .'. Это будет проверять содержимое соединительной линии в качестве корневой папки для сборки, и поэтому расположение файла msbuild является просто «MyProject1.proj». Кроме того, вы можете оставить рабочий каталог пустым. – timomeinen

2

Вы должны использовать .../trunk /, поскольку это ускорит оформление заказа, иначе TeamCity получит все ветви, которые вам, вероятно, не нужны для сборки.

+1

Вы можете исправить проблему получения веток, тегов и т. Д., Изменив правила выписки. – dthrasher

2

До настоящего времени я использовал ../trunk как корень. Это хорошо, потому что в моем случае все проекты расположены ниже багажника, поэтому я могу легко выполнить полную проверку.

Но функция маркировки не работает, потому что вам необходимо использовать правило типа «trunk => tags» и корень, являющийся родителем этих каталогов. Поскольку я хотел бы отметить каждую версию сборки, я теперь думаю о том, чтобы перейти на макет, подобный тому, который предложил CrazyCoder.

Смежные вопросы