Рабочий процесс развертывания веб-приложений с помощью SVN и TeamCity - PullRequest
4 голосов
/ 10 июля 2009

Я довольно новичок в Subversion. До сих пор большая часть моей работы была с Visual Source Safe. Я хочу улучшить процесс развертывания с помощью SVN и TeamCity. Это мой план:

Будет три ветви:

  1. Разработка (/ trunk) - полное решение ASP.NET, включая проект веб-развертывания.
  2. Staging (/ branch / staging) - вывод проекта веб-развертывания (файлы, необходимые только для выполнения - bin, .aspx, изображения и т. Д.)
  3. Развертывание (/ Branchs / развертывание) - то же, что и Staging

Процесс CI:

  1. Фиксация изменений источника в транке.
  2. TeamCity обнаруживает изменения, строит решение и запускает модульные тесты.
  3. Если все тесты пройдены, TeamCity передает выходные данные проекта веб-развертывания в ветки / промежуточные версии и экспортирует их в wwwroot на промежуточном веб-сервере.

Затем, когда я буду готов к развертыванию, я сделаю следующее:

  1. Слияние веток / постановка с ветками / производство
  2. Обновление рабочей копии производственного веб-сервера филиалов / продукции.

Имеет ли это смысл? Есть ли что-то такое, что пользователь VSS, такой как я, может отсутствовать / неправильно понимать в этом процессе?

Ответы [ 3 ]

4 голосов
/ 26 мая 2010

Я написал довольно длинный пост о том, как сделать это с ASP.Net и проектами веб-развертывания - звучит прямо в вашем переулке (не знаю, разрешено ли мне публиковать это - моды?):

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

4 голосов
/ 04 мая 2016

Поздний ответ, но может быть полезным для читателей этой темы:

Я провел небольшое онлайн-исследование и нашел пошаговое руководство, которое может помочь с вашей проблемой.

В этом руководстве рассматриваются основы непрерывной интеграции (CI) и средства для создания новой базы данных при обнаружении нового изменения в репозитории управления исходным кодом, запуска указанных модульных тестов для базы данных и синхронизировать проверенную базу данных со средой контроля качества.

Необходимым условием для реализации непрерывной интеграции (CI) в процессе разработки базы данных является наличие базы данных под контролем исходного кода.

2 голосов
/ 10 июля 2009

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

Мы не сохраняем результат сборки в SVN. Для нас было нормальным просто иметь его в Teamcity под артефактами. Я не уверен, что мы будем использовать лучшие практики на этом этапе.

Вы будете намного счастливее с SVN и Teamcity ... удачи!

...