TeamCity удаляет файлы на сборке

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

TC может проверять файлы из SVN, и он может создавать их без проблем. Однако я обнаружил, что настройка "Checkout directory" была неправильной, она указала одну папку выше, где она должна была, следовательно, добавлять все новые файлы из SVN не в том месте, но все еще основываться на старых. После исправления проблемы начались.

Теперь каждый раз, когда TC выполняет сборку, он очищает все файлы в каталоге "Checkout", проблема заключается в том, что не все файлы, которые необходимы, управляются SVN, и они удаляются навсегда. Поскольку не все необходимые файлы, сборка не выполняется.

Что мне делать, чтобы TC сохранял мои файлы?

Настройки TC, если это может помочь:

Настройки общих настроек "

Название: Mavia Build

Описание: none

Формат номера сборки: {0}, следующий номер сборки: # 8

Пути артефактов: не указано

Сбой сборки, если:

код выхода процесса не равен нулю: ВКЛ

по крайней мере один тест не выполнен: ВКЛ

сообщение об ошибке регистрируется приложением сборки: OFF

он работает дольше, чем: no limit

отсутствует память или аварийный сигнал: ON

Параметры сборки:

обнаружение висячих сборок: ВКЛ

статусный виджет: ВЫКЛ

максимальное количество одновременно работающих сборок: неограниченное

Настройки управления версиями edit"

Режим проверки VCS: автоматически на сервере

Каталог заказа: C:\Inetpub\wwwroot\mavia_sip

Очистите все файлы перед сборкой: OFF

Маркировка VCS: отключена

Прикрепленные корни VCS:

Название Правила оформления Задать ярлык

mavia_sip svn не указано NO

Runner: sln2008 edit "

Тип бегуна: sln2008 (файлы решений Runner для Microsoft Visual Studio 2008)

Путь к файлу решения: mavia_sip\WebSite\mavia_sip.sln

Рабочий каталог: тот же, что и справочный каталог

Цели: перестроить

Конфигурация: Отладка

Платформа решений: по умолчанию

Платформа NUnit Run: авто (MSIL)

NUnit runner: NUnit 2.2.10

Запустить тесты из: не указано

Не запускать тесты из: не указано

Категории NUnit включают: не указано

Категории NUnit исключают: не указано

Уменьшить время обратной связи с проверкой: OFF

MSTest: отключено

Обработка отчетов XML: отключено

Сборка запуска редактирования"

Конфигурация сборки приостановлена ​​(запуск отключен).

Запуск триггера с помощью vcs check-in: ON

Тихий период: по умолчанию, 60 секунд

Запустите новую сборку, если последняя сборка не выполнена: OFF

Запуск по времени: не настроен

Эта конфигурация зависит от: не настроено

Редактирование зависимостей "

Зависимости моментальных снимков:

Нет зависимостей от моментальных снимков.

Артефактные зависимости:

Нет зависимостей артефакта.

Свойства и переменные среды edit"

Свойства системы: не определено

Переменные среды: не определены

Требования к агентам "

Требования к свойствам системы: не определены

Требования к переменным среды: не определены

Ответ 1

Хорошо, вот как я это сделал:

Сначала я позволю TC проверить и построить проект в отдельной папке на сайте. Необходимая внешняя dll была перенесена из папки bin в отдельную папку и добавлена ​​в subversion (также обновляя референсы в Visual Studio).

Теперь TC может построить проект без проблем.

Вторым я создал Post Build Script в Visual Studio следующим образом:

xcopy "C:\TeamCityBuild\mavia_sip\WebSite\*" "C:\Inetpub\wwwroot\mavia_sip\WebSite\" /C /R /Y /E
if errorlevel 1 exit 0

Обработка ошибок необходима только для предотвращения ошибок Script, когда кто-то создает проект в среде без правильной структуры папок.

Пока все работает отлично!

Ответ 2

Каталог выписки не должен содержать никаких файлов, которые вам нравятся!

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