Настройка Сruise Сontrol и интеграция с MSTests используя MSBuild – Введение

Настройка Сruise Сontrol и интеграция с MSTests используя MSBuild – Введение

Всем привет. Рассматривая процесс автоматизации и контроля качества программного обеспечения, как же не затронуть тему Continuous Integration (Delivery) (дословно “непрерывной интеграции”).

Что означает это понятие? Кратко говоря – это автоматизированный процесс подготовки нового кода к внедрению на любой стадии разработки и тестирования программного обеспечения, включающий цепочку  действий: планирование и сборку билдов, запуск тестов (UI, Integration, Unit), отслеживание изменений и уведомление разработчиков о проблемах.

Тестируемое приложение

Внедрять процесс Сontinuous Integration мы будем для приложения, рассмотренного в предыдущем цикле статей. Для этого вам понадобится скачать проект с GitHub репозитория. Он содержит тесты, котрые мы будем запускать с помощью MSTest. Сам же проект мы будем компилировать с помощью MSBuild. И самое главное в качесттве сервера интеграции воспользуемся средствами CruiseControl.NET.

CruiseControl.NET

CCNet – это сервер Сontinuous Integration (CI) с открытм исходным кодом. Он позволяет создавать триггеры для автоматического запуска сборки нового билда при каждом коммите кода, запускать автотесты, логировать результаты и сохранять отчеты.

MSBuild

MSBuild представляет собой платформу для сборки приложений. Компонент беспечивает для файла проекта схему XML, которая управляет способами сборки и обработки приложений. MSBuild используется Visual Studio, но не зависит от нее. Вызывая msbuild.exe применительно к файлу вашего проекта вы можете выполнять  сборку и настройку продуктов в средах, где Visual Studio не установлена.

MSTest

MSTest.exe будем использовать для запуска наших тестов с командной строки. Вы можете найти список MSTest.exe команд по ссылке. Мыбудем использовать /resultsfile: команду для логирования результатов в фай для построения отчета.

Установка CC.NET

Перейдем к установке CCNet:

1) Убедитесь, что IIS сервер установлен. Также в установку нужно включить компонент ASP.NET (ASP.NET по-молчанию не устанавливается вместе с IIS).

2) Перейдите по ссылке и скачайте CruiseControl.Net-1.8.5.0-Setup.exe (на время написания материала) или последнюю версию.

3) Установите сервер с настройками по-умолчанию. После этого папка “CruiseControl.NET” будет создана в Program Files (C:\Program Files (x86)\).

4) CCNet может работать автономно или как сервис Windows. Если CCNet необходимо использовать только в качестве сервера CI, его необходимо использовать кaк сервис Windows. Автономный режим будет полезен для дополнительных настроек  и устранении неисправностей сервера. Мы будем использовать сервер как сервис.

5) Перейдите к services.msc и запустите сервис CruiseControl.NET Server.

После этого сайт ccnet должен быть создан в IIS. Если этого не произошло, выполните шаги следующего блока.

Добавление ccnet сайта в IIS

  • Откройте Internet Information Services (IIS) Manager в Administrative Tools Windows
  • В IIS перейдите в “Sites” и в контекстном меню выберите Add Web Site
  • Предоставьте название сайта “ccnet”
  • Внесите путь “C:\Program Files (x86)\CruiseControl.NET\webdashboard” для поля Physical path
  • Назначьте незанятый порт, например, “523” для поля Port
  • Все остальные поля оставьте без изменения и нажмите кнопку Ok.

iss-2

Сайт “ccnet” должен быть создан в IIS.

iss-3

Теперь можно открыть ccnet в браузере:

  • Выберите “Switch to content view” в контекстном меню ccnet.
  • В файлах в правой части выберите default.aspx, а в контекстном меню – Browse.
  • Должна открыться ссылка  “http://localhost:523/ViewFarmReport.aspx”

iss-4

На данном этапе мы установили cruise control в качестве сервиса и видим его проект по-умолчанию. В следующей статье мы настроим конфигурацию на запуск тестов.

RelatedPost