Где разместить сценарии развертывания в системе контроля версий в конфигурации CI? - PullRequest
4 голосов
/ 13 июля 2011

Я работаю над распределенным решением (написанным на .NET), которое включает службы WCF, управляемые службы Windows и имеет зависимости от других собственных и управляемых решений.Основная цель проекта - выполнить различные тесты другой распределенной системы.

Сборка развертывается одним щелчком в TeamCity.Двоичные файлы тестового жгута и тестируемой распределенной системы находятся в общей папке.Для развертывания всего этого у меня есть несколько сценариев .bat и powershell, которые также находятся в общей папке.Я постоянно работаю над сценариями, и они обновляются, поэтому я хочу сохранить их в системе контроля версий.

В каких местах можно хранить сценарии развертывания?

Прямо сейчас у меня есть выделенная папка в решении, но я не слишком уверен, что это хороший подход.Я не нашел способ развертывания сценариев в общей папке в каждой сборке TeamCity.

<b>/solution</b>
   <b>/app</b> [test harness code]
   <b>/test</b> [unit, functional, integration, capacity tests]
   <b>/deployment</b> 
      <b>/scripts</b> [.bat and .ps1 scripts only]
         <b>/TeamCity</b> [copy binaries to share folder on TeamCity]
         <b>/VM</b> [scripts for installation of test harness and unit under test]

ОБНОВЛЕНИЕ
Сценарии развертывания, о которых я говорю, должны храниться вобщая папка на машине Team City.В сценариях тестирования несколько виртуальных машин копируют эти сценарии в локальные папки и затем выполняют их.В зависимости от сценария и назначения виртуальной машины различные двоичные файлы копируются на виртуальную машину и выполняются различные установки.Размер сценариев обычно не превышает 100 строк, но они сильно отличаются от компонента к компоненту и постоянно обновляются.

Я храню сценарии в папке решения Visual Studio без файла .csproj, и поэтому онине копируется, когда Team City извлекает код из репозитория, и поэтому я не могу скопировать их в общую папку.

1 Ответ

1 голос
/ 13 июля 2011

выглядит хорошо для меня. Обычно я делаю нечто подобное, если буду выполнять непрерывную интеграцию.

Редактировать: я только что отметил часть о развертывании сценариев в общей папке. Что ты конкретно имеешь ввиду? Ваши сценарии также находятся под контролем исходного кода?

...