Разработка и развертывание управления с помощью SVN веб-сайта - PullRequest
1 голос
/ 19 октября 2010

Сетевое решение для веб-сайта, состоящего из 5 проектов, и над ним работают несколько (менее 10) разработчиков. Мы разворачиваемся почти ежедневно. Вопрос состоит в том, как настроить репозиторий SVN для поддержки этого сценария (ежедневное развертывание), также отметив, что не каждый закомментированный файл должен быть запущен в производство, перед развертыванием требуется проверка QA.

Ответы [ 2 ]

3 голосов
/ 19 октября 2010

Попробуйте TeamCity (Инструмент CI), поскольку его бесплатно для меньших количеств CI. это может быть лучше для вас, чем CruiseControl.Net, так как CCNET очень тяжелая конфигурация, так как все это делается через XML. TeamCity использует мастера для создания сценариев для управления выпусками

Если вам нужна какая-либо другая помощь по КИ, дайте мне знать, что это то, о чем я проповедую.

2 голосов
/ 19 октября 2010

То, что вы хотите сделать, обычно называют Непрерывная интеграция (CI).

Хотя вы можете сделать это с помощью Subversion, вероятно, это неправильный инструмент для работы.

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

Что касается того, что «не каждый закомментированный файл должен быть запущен в производство», общим решением является наличие специальной ветки «release», которая развертывается.Там объединяется только проверенный код (или магистраль всегда должна быть стабильной, в противном случае та же модель).Конечно, вы можете (лучше: дополнительно) иметь тесты перед автоматическим развертыванием и развертывать их только в том случае, если все тесты пройдены.

Работа с веткой выпуска

ВНа практике это означает, что люди проверяют свой код при его создании.Иногда этот код будет работать, иногда нет.Когда время выпуска приближается, в Subversion создается «ветвь релиза».Эта ветвь релиза фактически является замороженным снимком источника, каким он был во время ветвления.Теперь эту ветку можно использовать для компиляции и развертывания приложения, которое затем можно протестировать.

Новый код не добавляется в ветку (но проверки могут продолжаться в других местах).Только если в ветке обнаружена ошибка, в ветку будет добавлена ​​проверка для ее исправления.Это продолжается до тех пор, пока ветвь не пройдет все тесты.Затем ветка может быть выпущена как новая версия программного обеспечения;впоследствии ветвь будет использоваться только в том случае, если необходимо обновить исправленную версию.

Конечно, любые исправления ошибок, добавленные в ветку, также должны быть помещены в транк (либо путем слияния ветки -> транк, для чегоSubversion предоставляет специальную поддержку или, при необходимости, переопределение исправления в багажнике.

...