17 мая 2013 г.

Continuous Integration: Трансформация App.config

Скачать исходный код

При работе с корпоративными проектами нужно создавать приложения разного рода. Например, проект может содержать несколько веб-сайтов, WCF-сервисы, Silverlight-приложения, Windows-сервисы или консольные утилиты. Все эти приложения нужно будет включить в Continuous Integration, чтобы выпуск версий для тестового сервера и боевого производился в автоматическом режиме. У всех этих приложений есть файлы настроек, которые обычно хранятся в App.config или других XML-подобных файлах. Для разных версий приложений мы должны хранить свои строки подключения к БД, ссылки к сторонним сервисам, SMTP-хостам, задавать разные уровни логирования и т.п.

Мы уже рассмотрели, как работать с Web.config, как писать для него трансформацию, что такое трансформация и как она встраивается в процесс сборки проекта. Продолжим эту тему рассмотрением работы с App.config.

15 мая 2013 г.

Проекты моей компании: Проект Pandorama

Недавно я писал о том, что компании ByndyuSoft исполнился 1 год. Хочется больше описывать то, что мы делаем, но проекты довольно долго разрабатываются и не все лежат в публичном доступе.

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

Проект: http://pandorama.com

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

Сервис обрабатывает сотни тысяч статей ежедневно. Всё это сделано с хорошей балансировкой нагрузки и оптимизацией алгоритмов сбора и анализа информации. Из основных технологий back-end'а можно выделить: ASP.NET MVC, RabbitMq, MSSQL + MongoDB.

Делать проект такого уровня очень интересно. Сюда входят и новые технологии, и новые платформы разработки. К тому же это одностраничное приложение с богатой логикой на JavaScript, самое трендовое направление в веб-разработке. Всё реализовано под различные браузеры, мобильные устройства и ОС.

При разработке команда и Product Owner переходили от Scrum к Kanban, адаптируя методы гибкой разработки под требования проекта.

В данный момент проект запущен на американском рынке и продолжает развиваться.

11 мая 2013 г.

Continuous Integration: Создание собственной конфигурации

Скачать исходный код

Конфигурации сборки (build configurations) обеспечивают хранение нескольких версий настроек для солюшена и проектов. Создание новой конфигурации будет необходимым шагом для работы с несколькими окружениями и версиями релиза.

Для начала рассмотрим, что такое конфигурация сборки на уровне проекта и на уровне солюшена. Потом создадим свою конфигурацию и config-файлы для нее.

6 мая 2013 г.

Continuous Integration: Процесс сборки проекта и трансформации Config-файлов

Скачать исходный код

Мы рассмотрели основы трансформации Web.config. Теперь стоит углубится в тему сборки проекта и рассмотреть детально, когда и как делается трансформация файлов конфигурации.

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

4 мая 2013 г.

Continuous Integration: Трансформация Web.config

Скачать исходный код

Начнем рассмотрение работы с config-файлами с самой простой темы. Создадим приложение ASP.NET MVC 4. По-умолчанию в созданном проекте уже есть 2 конфигурации (Debug, Release) и 3 config-файла (Web.config, Web.Debug.config, Web.Release.config):

Continuous Integration: Работа с Config-файлами

Скачать исходный код

Сборку проекта и выпуск артефактов для релиза уже давно никто не осуществляет вручную. Весь процесс интеграции и Deploy довольно просто автоматизируется с помощью TeamCity, Cruise Control.NET или Team Foundation Server.