TeamCity удаляет файлы при сборке - PullRequest
4 голосов
/ 03 июня 2009

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

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

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

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

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

Редактирование общих настроек »

Имя: Mavia Build

Описание: нет

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

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

Ошибка сборки, если:

код завершения процесса не равен нулю: ON

не менее одного теста не пройден: ON

сообщение об ошибке записывается в сборщик: OFF

работает дольше, чем: без ограничений

недостаточно памяти или обнаружен сбой: ON

Варианты сборки:

Обнаружение зависших сборок: ON

виджет состояния: OFF

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

Редактирование настроек контроля версий »

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

Оформить заказ: C: \ Inetpub \ wwwroot \ mavia_sip

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

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

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

Название Правила оформления заказа Установить метку

mavia_sip svn не указано НЕТ

Бегунок: sln2008 edit »

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

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

Рабочий каталог: такой же, как каталог для оформления заказа

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

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

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

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

NUnit бегун: NUnit 2.2.10

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

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

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

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

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

MSTest: отключено

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

Редактирование запуска сборки »

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

Построение триггера при регистрации vcs: ON

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

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

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

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

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

Зависимости снимка:

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

Зависимости от артефактов:

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

Редактирование свойств и переменных среды »

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

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

Редактирование требований агента »

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

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

Ответы [ 2 ]

4 голосов
/ 05 июня 2009

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

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

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

Во-вторых, я создал скрипт посткомпоновки в Visual Studio следующим образом:

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

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

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

3 голосов
/ 03 июня 2009

В каталоге оформления заказа не должно быть файлов, которые вам интересны!

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

...