Как мне подойти к непрерывной интеграции и версиям .NET Framework

Я только начинаю переходить на .NET Framework 3.5. Я использую CruiseControl.NET для нашей непрерывной интеграции и хотел бы знать, как другие подходят к ее настройке.

У меня есть ветка исходного кода под названием NET3.5, но на данный момент я сохраняю магистраль как 2.0.

Я создал два проекта CruiseControl, которые извлекают из ствола и ветви.

Итак, у меня есть два проекта непрерывной интеграции, хотя кодовая база всего одна.

Я думаю, что это правильный подход, потому что мне нужно использовать разные версии aspnet_merge.exe для компиляции кода, что означает два отдельных файла конфигурации и, следовательно, два проекта непрерывной интеграции.

Нормален ли этот подход, должна ли каждая ветвь создаваться отдельно или это должна быть просто одна большая кодовая база, которая компилирует разные версии выпуска в одну гигантскую сборку?

Ваше здоровье


person David A Gibson    schedule 08.01.2009    source источник
comment
В качестве примечания переключитесь на TeamCity для CI. Мы сделали и любим это.   -  person ripper234    schedule 08.01.2009


Ответы (2)


Лично я создаю новый проект CCNet для веток, что похоже на то, что вы сделали.

Преимущества этого:

  • Изменения в одной ветке приводят к перестройке только одного проекта
  • У вас есть отдельные отчеты / артефакты сборки для каждой ветви
  • Если одна ветка сломается, другая ветка все еще может быть построена / развернута.

Когда вы объедините ветку обратно в ствол, вы можете удалить лишний проект Cruise.

Сообщите мне, есть ли что-то особенное для вашего приложения ASP.NET, которое я здесь пропустил.

person Drew Noakes    schedule 08.01.2009
comment
Привет, Дрю, похоже, я иду правильным путем, спасибо! Я думаю, что это важная часть. Если одна ветка сломается, другая ветка все еще может быть построена / развернута, потому что CruiseControl не работает, если какой-либо проект .NET не удается построить. Не видел этого, пока вы это не сказали - спасибо и +1 от меня! - person David A Gibson; 08.01.2009
comment
Без проблем. Я настроил ветвление с помощью CCNet для своего текущего клиента, и он отлично работает. Единственный недостаток, который я видел до сих пор, - это накладные расходы на создание пары CI / ветвь и внезапные скачки статистики при слиянии. Это мало по сравнению с преимуществами построения всех филиалов. - person Drew Noakes; 08.01.2009

Переключитесь на TeamCity и получите несколько сборок (по крайней мере, по одной на ветку). Настроить сборки в TeamCity очень легко, и это определенно правильное решение для тестирования различных версий вашей кодовой базы (включая фреймворк).

person ripper234    schedule 08.01.2009