Добрый день. Вопрос №1 Какова стоимость получения диплома о мини-МБА по данному курсу? Или ориентироваться на указанную на сайте? Вопрос №2 Возможно ли начать обучение без потери результатов, не отправив документы на зачисление, а отправку выполнить позже? |
Практикум
Как настроить непрерывную интеграцию в Visual Studio Team Foundation Server
Область применения
- Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) .
- Microsoft Visual Studio Team System (VSTS) .
Описание
В Visual Studio 2005 Team Foundation Server нет стандартного решения для непрерывной интеграции ( Continuous Integration, CI ), но имеется вся инфраструктура, необходимая для реализации собственного решения. В этой статье подробно разбирается процесс настройки сборки CI в TFS с помощью решения, предоставленного группой VSTS. Это решение устанавливает веб-службу, выполняющуюся от имени учетной записи с правом доступа к серверу TFS. Благодаря подписке на событие CheckinEvent эта веб-служба будет запускать сборку при каждом возврате правок.
Примечание Пользователи TFS 2008 могут настроить процесс непрерывной интеграции прямо из Visual Studio. Щелкните правой кнопкой описание типа сборки в узле Builds дерева Team Explorer, выберите команду Edit Build Definition, щелкните Trigger и активируйте сборку при возврате правок.
Содержание
- Задачи.
- Обзор.
- Порядок операций.
- Прежде всего.
- Шаг 1 - создание и тестирование сборки.
- Шаг 2 - установка решения непрерывной интеграции.
- Шаг 3 - настройка решения непрерывной интеграции.
- Шаг 4 - подписка на событие CheckinEvent.
- Шаг 5 - тестирование непрерывной интеграции.
- Шаг 6 - настройка уведомлений по электронной почте.
- Дополнительные ресурсы.
Задачи
- Познакомиться с непрерывной интеграцией.
- Создать сборку непрерывной интеграции при помощи TFSBuild и решения группы VSTS.
Обзор
Для повышения качества кода разработчикам необходима постоянная обратная связь по качеству каждого возвращаемого ими изменения. Это особенно важно, когда изменения приводят к сбою сборки и ошибкам компиляции. Чем раньше разработчик получит отзыв, тем быстрее он исправит ошибки и устранит препятствие в работе других разработчиков и тестиров-щиков. В результате повысится производительность всех членов команды.
В такой ситуации особую ценность приобретает непрерывная интеграция - процесс создания сборок при каждом возврате изменений в систему управления исходным кодом. Сборка непрерывной интеграцией обеспечивает максимально быструю обратную связь. Для еще большей эффективности работы в сборки CI можно ввести пороги качества.
Порядок операций
- Шаг 1 - создание и тестирование сборки.
- Шаг 2 - установка решения непрерывной интеграции.
- Шаг 3 - настройка решения непрерывной интеграции.
- Шаг 4 - подписка на событие CheckinEvent.
- Шаг 5 - тестирование непрерывной интеграции.
- Шаг 6 - настройка уведомлений по электронной почте.
Прежде всего
Убедитесь, что учетная запись, от имени которой выполняется служба сборки, обладает разрешением Start a build на сервере Team Foundation Server.
Шаг 1 - создание и тестирование сборки
На начальном этапе мы создадим тестовую сборку и проверим возможность ее выполнения из Visual Studio. Если сборку выполнить не удается, перед переходом к следующему этапу необходимо исправить в ней ошибки.
- Создайте для тестирования сценария сборки проект Microsoft Windows® Forms.
- Убедитесь, что сборка проекта выполняется правильно.
- Верните проект в систему управления исходным кодом.
- Создайте сценарий командной сборки:
- В Team Explorer щелкните правой кнопкой Team Builds и выберите New Team Build Type.
- Заполните страницы мастера Team Build Type Creation Wizard.
- Проверьте работоспособность сценария командной сборки:
- В Team Explorer щелкните правой кнопкой созданный тип сценария командной сборки.
- В контекстном меню выберите команду Build Team Project <Имя вашего сценария сборки>.
- Убедитесь, что тип выбран правильно, и щелкните Build.
- Просмотрите результаты сборки и убедитесь, что в процессе сборки не возникло ошибок.
Важно! Убедитесь, что учетная запись TFSService, от имени которой выполняются службы сборки, обладает полным доступом к общей папке для размещения результатов сборки, заданной в Team Build Type Wizard.
Шаг 2 - установка решения непрерывной интеграции
Установите решение непрерывной интеграции, предоставленное командой VSTS. Более подробную информацию об этом решении вы найдете по адресу http://msdn2.microsoft.com/en-us/library/ms364045(VS.80).aspx.
- Скачайте решение из источника, расположенного по адресу http://down-load.microsoft.com/download/6/5/e/65e300ce-22fc-4988-97de-0e81d3de 2482 ci.msi и установите его на своем сервере TFS.
- На второй странице мастера установки убедитесь, что выбран сайт "Team Foundation Server".
При установке в корневой папке сервера уровня приложений TFS создается виртуальный каталог. Это должен быть веб-сайт Internet Information Services (IIS) с именем Team Foundation Server, связанный с портом 8080.
Шаг 3 - настройка решения непрерывной интеграции
На данном этапе выполняется настройка CI: задается проект, сборка которого будет выполняться непрерывно, сервер сборки и используемый тип сборки.
Чтобы приложение, содержащееся в виртуальном корневом каталоге, выполнялось в пуле приложений TfsAppPool, выполните следующие действия:
- Раскройте меню Start, Administrative Tools и выберите команду IIS Manager.
- Разверните веб-сайт Team Foundation Server.
- Щелкните правой кнопкой CI Web Application и убедитесь, что для параметра Application Pool задано значение TfsAppPool.
Чтобы настроить процесс непрерывной интеграции, выполните следующие действия:
- Откройте файл Web.config для CI Web Application, размещенный в папке C:\Program Files\Microsoft Visual Studio 2005 Team Foundation Server\ Web Services\CI\.
- Задайте следующие свойства в новом разделе, разместив его под разделом <appsettings> :
- TeamFoundationServer - URL уровня приложений, задается в формате http://компьютер:8080.
- TeamProject - командный проект, для которого активируется непрерывная интеграция.
- BuildType - тип сборки, который должен использоваться при непрерывной интеграции. Обычно сценарий включает только саму сборку, но сюда можно добавить также базовое тестирование и статический анализ.
- Build Machine - необязательный параметр, используется для переопределения сервера сборки, заданного в типе сценария сборки по умолчанию.
Ниже приведен пример настроек:
… <add key="1" value="TeamServer=http://TFSRTM:8080;TeamProjectName=Adventure Works;BuildType=Test Build"/> …
Шаг 4 - подписка на событие CheckinEvent
Подпишитесь на событие CheckinEvent, используя инструмент bisubscribe, поставляемый с TFS.
- Откройте окно командной строки и перейдите в папку C:\Program Files\ Microsoft Visual Studio 2005 Team Foundation Server\TF Setup\
- Выполните команду: Bissubscribe /eventType CheckinEvent /address http://TFSRTM:8080/ ci/notify.asmx /deliveryType Soap /domain http://TFSRTM:8080
- Чтобы убедиться, что подписка выполнена, сделайте следующее:
- Откройте Microsoft SQL Server™ Management Studio.
- Откройте базу данных tfsIntegration.
- Откройте таблицу tbl_subscription.
В этой таблице содержатся записи для всех событий, на которые вы подписаны. Там должна быть и запись о том, что решение CI подписано на событие CheckinEvent. В случае необходимости вы вольны отказаться от подписки на любое из зарегистрированных событий, удалив соответствующую запись из таблицы.
Шаг 5 - тестирование непрерывной интеграции
Теперь нужно проверить правильность выполнения CI -сборки.
- Откройте созданное на шаге 1 приложение Windows Forms.
- Внесите в код какие-нибудь незначительные изменения, которые гарантированно не вызовут сбой сборки.
- Возвратите внесенные изменения в систему управления исходным кодом.
- Если у вас есть доступ к компьютеру, на котором выполняется сборка, откройте Диспетчер задач ( Task Manager ) и проверьте степень загрузки центрального процессора этого компьютера. Она должна возрастать после возврата изменений, что свидетельствует о выполнении сборки. В списке процессов должно быть видно, что центральный процессор используется процессами msbuild, csc и (или) aspnet_compiler.
- Дайте сборке завершиться, а затем в Team Explorer щелкните дважды All Build Types и найдите свою сборку.
Устранение неисправностей
Если сборки нет в списке, выполните следующие действия:
- Убедитесь, что правильно подписались на событие. Подробнее об этом - в пункте 3 предыдущего шага.
- Убедитесь, что правильно настроили файл Web.config веб-приложения CI. Подробнее - в шаге 3.
- Убедитесь, что веб-приложение CI выполняется в соответствующем контексте и имеет доступ к серверу TFS.
- Если все сделано правильно, но сборка по-прежнему дает сбой, проведите отладку веб-приложения:
- Создайте новый проект веб-сайта.
- Добавьте в проект существующий веб-сайт.
- Щелкните кнопку Local IIS и выберите из списка веб-приложение CI.
- Откройте notify.cs и создайте точку останова в методе Notify.
- Нажмите F5, чтобы начать отладку.
- Внесите изменения в тестовое приложение Windows Forms и верните код в систему управления исходным кодом.
- Если в ходе выполнения точка останова не достигнута, событие не детектируется. Попробуйте подписаться на него еще раз.
- Если в ходе выполнения приложение останавливается в точке останова, продолжайте отладку.
- Убедитесь, что в Microsoft Internet Explorer включена отладка сценариев. В меню Сервис (Tools) выберите Свойства обозревателя (Internet Options) и перейдите на вкладку Дополнительно (Advanced) . Убедитесь, что флажок Отключить отладку сценариев (Internet Explorer) (Disable Script Debugging (Internet Explorer)) сброшен.
Шаг 6 - настройка уведомлений по электронной почте
Можно настроить оповещение всех заинтересованных сторон о завершении сборки по электронной почте.
- В Team Explorer щелкните правой кнопкой соответствующий командный проект.
- Выберите Project Alerts.
- Выберите параметр A build completes и введите адрес или адреса электронной почты для рассылки уведомлений.
Дополнительные ресурсы
- Дополнительную информацию об использовании решения Visual Studio Team System для поддержки непрерывной интеграции вы найдете в статье "Continuous Integration Using Team Foundation Build" по адресу http://msdn2.microsoft.com/en-us/library/ms364045(VS.80).aspx.
- Скачать программу установки решения Visual Studio Team System для поддержки непрерывной интеграции можно по адресу http://download.microsoft.com/download/6/5/e/65e300ce-22fc-4988-97de-0e81d3de2482/ ci.msi.
- Подробнее о гибкой разработке и непрерывной интеграции в Team Foundation Server читайте в статье "Extend Team Foundation Server To Enable Continuous Integration" по адресу http://msdn.microsoft.com/msdnmag/is-sues/06/03/TeamSystem/default.aspx.