1. Continious Integration TulaDev.NET Развертывание Continious Integration при помощи CruiseControl.Net, NAnt, NUnit и Svn Виталий Луканин ООО “Смартек” Senior C# Developer [email_address] http://www.smartru.com
25. NAnt NAnt — это свободно распространяемое (open source) ПО для автоматизации процесса сборки ПО. NAnt очень похож Apache Ant, но ориентирован на работу с .NET, а не Java, вследствие чего требует требует наличия одной из версий .NET Framework.
26. Предлагаемая стратегия сборки Для автоматизации процесса сборки, предположим, что она должна осуществляться по следующему алгоритму: 1. Подменить *.config файл в веб приложении 2. Собрать проект 3. Запустить тесты 4. Создать *.bat файл для деплоймента веб приложения в IIS, а также установки сервиса. 5. Если environment=='QA', будем архивировать бинарники сервиса и копировать их в папку «C:uild (на месте бинарников сервиса могут быть инсталляторы реального приложения)
27.
28. CruiseControl.NET-CCTray – клиентская тулза, которая с любой из машин клиента позволяет просмотреть текущее состояние серверной стороны или обратиться к описанному выше веб-интерфейсу
Презентация подготовлена с использованием OpenOffice.org Impress
Приятно то, что в Тесте Джоэла легко получить быстрый ответ да или нет на каждый вопрос. Вам не нужно выяснять число строк в день или среднее количество ошибок на точку перегиба. Дайте своей команде одно очко за каждый ответ «да». Главный недостаток теста в том, что его действительно не следует применять для оценки безопасности программного обеспечения ядерных электростанций. Оценка 12 — превосходно, 11 — терпимо, но 10 или ниже означает, что у вас серьезные проблемы. Правда состоит в том, что большинство организаций живут с оценкой 2 или 3, и поэтому им нужна серьёзная помощь, потому что такие компании, как Microsoft, имеют 12 постоянно. Конечно, это не все факторы, которые определяют успех или неудачу. В частности, если у вас великолепная команда, работающая на продуктом, который никому не нужен, ну... люди и не захотят его. И в то же время можно представить себе команду «головорезов», которые не делают ничего из вышеперечисленного, и при этом умудряются производить удивительное программное обеспечение, способное изменить мир. Но, при прочих равных, если у вас есть эти 12 пунктов — значит, у вас есть дисциплинированная команда, которая может воспроизводимо достигать результата.
Что нам это дает? Во-первых – в любой момент времени мы имеем достоверную информацию о состоянии исходников в системе. Если последний билд был неудачным («упал»), значит брать свежую версию из сорц-контрола нельзя – он может даже не компилится, а если зелёненький, удачный – значит все отлично. Во-вторых – очень просто найти виновника «торжества» — скорее всего, это последний коммитер – он то и будет отвечать за «ремонт». Кстати, в подобной среде задачей высочайшего приоритета является исправление билда. Если на проекте используется unit testing, их прогонка при каждом билде дает некоторую гарантию отсутствия регрессионных багов (когда в одном месте починили, а в другом отвалилось). Также можно включить в билд различные метрики качества кода, как-то покрытие, статический анализ, поиск дублированного кода, и т.д., автоматизировать установку на тестовую машину и тому подобные полезные и не очень вещи. Также часто принимают за правило, что если разработчик сломал билд – он не покидает рабочее место, пока билд снова не станет зеленым.
Также следует упомянуть, что в сравнении с Windows Server 2003 в Windows 7 появились некоторые особенности настроек тех или иных компонентов CI, в остальном процесс аналогичен. Таким образом, используемый нами подход позволит без особого труда применить его и на другие операционные системы
Если в целевой операционной системе не установлен IIS – установить его, причем в Windows 7 надо надо еще выполнить пару действий: 1. Сделать виртуальную папку приложением 2. Intenet Information Services + World Wide Web Services + + Application Development Features + + [x] .NET Extensibility + + [x] ASP + + [x] ASP.NET + + [x] CGI + + [x] ASAPI Extensions + + [x] ASAPI Filters + + [x] Server Side Includes 3. запустить c:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\aspnet_regiis.exe 4. Дописать в add apppool параметр /managedRuntimeVersion:"v4.0"
Во время установки на Windows 7 виртуальная директория для веб-части не создается, несмотря на галочку в визарде. Ее нужно создать самому, выбрав опцию AddApplication в IIS. Application pool должен быть “Classic”, название папки – ccnet Также надо убедиться, что для выбранного пула установлен asp.net 2.0. А если будет ошибка с поврежденным ManagedPipelineHandler у CCNetHttpHandler, то поправить конфиг дашборда: добавить preCondition=&quot;integratedMode&quot; в каждый <system.webServer> ... <handlers> <add … preCondition=&quot;integratedMode&quot;/>