Использование переменной для определения корневого URL VCS в Team City - PullRequest
9 голосов
/ 02 февраля 2010

Мы пытаемся определить проект TeamCity для тега релиза. Когда мы готовы к выпуску, мы помечаем багажник тегом, который включает номер версии. Мы хотим, чтобы процесс сборки извлекался на основе этого тега, а когда сборка завершится, переместите файлы в папку с именем, которое также основано на номере версии.

Нас интересует только проект "последняя версия", поэтому каждый раз, когда мы переходим к новой версии, мы реконфигурируем существующий проект TC с новым номером версии.

Проблема, с которой я столкнулся, заключается в параметризации корневого URL VCS (SVN). Я знаю, как настроить переменные для сборки, которые можно использовать в процессах сборки, которые мы могли бы использовать для настройки папки, в которую мы перемещаем файлы. Однако я не могу найти способ создать переменную, на которую мы можем ссылаться в URL-адресе SVN.

Есть ли способ получить URL-адреса VCS из переменных? Возможно ли иметь одну переменную, совместно используемую между корнем VCS и конфигурацией проекта?

Ответы [ 3 ]

15 голосов
/ 12 августа 2011

Начиная с версии 6.5, TeamCity позволяет использовать параметры в настройках VCS: Параметризованные корни системы контроля версий

3 голосов
/ 06 ноября 2010

Я не думаю, что Team City поддерживает это, вы не можете использовать переменные в настройках VCS, насколько я обнаружил, когда пытался. Чтобы обойти это, я использовал родительский шаблон, который определяет корневой источник VCS, в моем случае SVN, каждая конфигурация сборки строится на основе этого шаблона, и вы можете определить правила извлечения справа от имени VSC, которое вы используете. для данной конфигурации сборки на вкладке «Настройки контроля версий» и используйте там переменные. Таким образом, я могу сделать так, чтобы все конфигурации сборки разделяли общий корень SVN и определяли особенности оттуда. Вы можете сделать эту переменную статической фиксированной настройкой для конфигурации сборки, сделав ее переменной конфигурации на экране «Свойства и переменные среды» или сделав так, чтобы сборка выполнялась как пользовательский параметр на том же экране, но как переменная системы или среды. Надеюсь, это поможет.

0 голосов
/ 13 мая 2010

Я не уверен, что полностью понимаю, о чем вы просите, поэтому постараюсь ответить на этот вопрос по пунктам:

В: «Мы хотим, чтобы процесс сборки проверялся на основе этого тега, а когда сборка завершится, переместите файлы в папку с именем, которое также основано на номере версии.»

A: Если вы пытаетесь динамически изменить корень vcs, я не думаю, что это возможно.

В: «У меня проблема с параметризацией корневого URL VCS (SVN)»

A: Вот некоторые переменные, которые могут помочь:

% dep.btXX.vcsroot. {Svn_branch} .client-mapping% - это покажет, что просматривает корневой каталог vcs. Вам просто нужно установить правильный код проекта. % dep.btXX.env.BUILD_VCS_NUMBER% - номер версии VCS первого корня VCS, подключенного к конфигурации сборки.

Надеюсь, это поможет ... Но похоже, что у вас слишком сложная настройка. Если вы отметите для меня шаги, я мог бы дать вам лучший ответ.

...