Сервер Azure DevOps - Azure DevOps Server

Сервер Azure DevOps
Windows Azure logo.png
Разработчики)Microsoft
изначальный выпуск2005; 15 лет назад (2005)
Стабильный выпуск
Обновление 1 2019, обновление 1/10 сентября 2019 г.; 14 месяцев назад (2019-09-10)[1]
Операционная системаМайкрософт Виндоус
ТипУправление жизненным циклом приложений
ЛицензияПробная версия
Интернет сайтvisualstudio.com/ tfs Отредактируйте это в Викиданных

Сервер Azure DevOps (ранее Team Foundation Server (TFS) и Visual Studio Team System (VSTS)) является Microsoft продукт, который обеспечивает управление версиями (либо с Управление версиями Team Foundation (TFVC) или Git ), составление отчетов, управление требованиями, управление проектом (для обоих гибкая разработка программного обеспечения и команды водопада ), автоматизированные сборки, тестирование и управление выпуском возможности. Он охватывает весь жизненный цикл приложения, и позволяет DevOps возможности.[2] Azure DevOps можно использовать как серверную часть для множества интегрированные среды разработки (IDE), но специально для Microsoft Visual Studio и Затмение на всех платформах.[3]

Локальные и онлайн-версии

Azure DevOps доступен в двух разных формах: локальная («Сервер») и онлайн-версия («Службы»). Последняя форма называется Службы Azure DevOps (ранее Visual Studio Online, прежде чем она была переименована в Visual Studio Team Services в 2015 году). Облачный сервис поддерживается Microsoft Azure облачная платформа. Он использует тот же код, что и локальная версия Azure DevOps, с небольшими изменениями и реализует самые последние функции. Azure DevOps не требует настройки. Пользователь подписывает используя Учетная запись Microsoft для настройки среды, создания проектов и добавления членов команды. Новые функции, разработанные в короткие циклы разработки, сначала добавляются в облачную версию. Эти функции переносятся в локальную версию в виде обновлений примерно с трехмесячным интервалом.[4]

Архитектура

Архитектура сервера

Azure DevOps построен на многоуровневый, масштабируемая архитектура. Основная структура состоит из уровня приложения, отвечающего за логику обработки и поддержку портала веб-приложений (называемого Team Web Access или TWA). Azure DevOps построен с использованием Фонд связи Windows веб-сервисы. Они могут использоваться любым клиентом, хотя рекомендуется использовать клиентскую объектную модель. Уровень данных и уровень приложения могут существовать на одном компьютере.

Для поддержки масштабируемости уровень приложения может быть сбалансирован по нагрузке, а уровень данных может быть кластеризован. При использовании Microsoft SQL Server 2012 или более поздней версии поддерживаются отказоустойчивые кластеры и группы доступности AlwaysOn SQL Server, что позволяет осуществлять географическую репликацию данных.[5] Первичный контейнер - это коллекция проектов. Коллекция проектов - это база данных, содержащая группу командных проектов. Коллекция проектов - это еще один механизм масштабируемости, в котором каждую коллекцию можно разместить на разных серверах SQL или экземплярах SQL Server. База данных конфигурации Oe для каждого экземпляра Azure DevOps хранит метаданные коллекции проектов. Данные из баз данных сбора проекта объединяются в базу данных хранилища, которая денормализует данные при подготовке к загрузке в куб служб Analysis Services. Хранилище и куб позволяют создавать сложные отчеты о тенденциях и анализ данных.

Azure DevOps можно интегрировать с существующим SharePoint ферма. Службы SQL Server Reporting Services поддерживаются для более расширенной отчетности по хранилищу данных или кубу данных служб Analysis Services. Эти установки могут быть в одной или в разных системах. К инфраструктуре также могут быть добавлены серверы сборки, серверы управления лабораторией, серверы управления выпусками и прокси-серверы (для снижения некоторой нагрузки на уровень приложений), машины для тестирования и машины для нагрузочного тестирования.[6] Для поддержки групп, которым требуется планирование корпоративных проектов, Azure DevOps также интегрируется с Сервер Microsoft Project, который позволяет управлять портфелем на уровне предприятия, управлять ресурсами и отслеживать проекты.

Расширяемость

Microsoft предоставляет два хороших автономных перераспределенных API для подключения к Azure DevOps. Один - это Ява SDK, другой - .NET Framework SDK. Эти API-интерфейсы обеспечивают подключение клиентов к Azure DevOps. Поскольку Azure DevOps написан на основе сервис-ориентированной архитектуры, он может взаимодействовать практически с любым инструментом, который может вызывать веб-службу. Другой расширяемый механизм - подписка на системные предупреждения: например, предупреждения об изменении рабочего элемента или завершении сборки. Существует примерно 20 предварительно настроенных предупреждений, и группы могут настроить столько дополнительных предупреждений, сколько необходимо.[7] При использовании в расширяемом сценарии эти предупреждения могут быть отправлены в веб-службу, инициируя действия по изменению или обновлению рабочих элементов (например, внедрение расширенных бизнес-правил или создание рабочих элементов программным способом на основе заданного сценария).

Хранилище данных также можно расширить за счет создания настраиваемых адаптеров хранилища данных.[8] С появлением TFS 2012 пользовательские надстройки также могут быть созданы для Team Web Access, называемые Расширения веб-доступа.

Клиенты

Azure DevOps поддерживает Visual Studio 2010 и более поздние версии, Microsoft Test Manager (MTM) 2012 и 2013 гг. Eclipse, более старые версии Visual Studio и другие среды можно подключить к Azure DevOps с помощью поставщика интеграции управления исходным кодом Microsoft (поставщик MSSCCI - произносится как «Miss-Key»).[9] Эти инструменты обеспечивают полный доступ к функциям Azure DevOps.

Майкрософт Эксель и Microsoft Project также поддерживаются для помощи в управлении рабочими элементами, что позволяет выполнять массовое обновление, массовый ввод и массовый экспорт рабочих элементов. Microsoft Project можно использовать для планирования работы при соответствии методологии разработки программного обеспечения «водопад». И Excel, и Project поддерживают двунаправленное обновление данных. Это позволяет, например, менеджерам проектов помещать расписание в Project, импортировать эту работу в Azure DevOps, где разработчики обновляют работу, а затем расписание может быть обновлено без необходимости выполнения дополнительной работы руководителю проекта.

С Team Foundation Server 2012, Microsoft PowerPoint был также интегрирован с Azure DevOps, чтобы обеспечить быструю разработку раскадровки для облегчения процесса управления требованиями. Интеграция предоставляет расширяемые формы раскадровки, которые можно использовать для создания любого типа макета интерфейса, который затем можно анимировать с помощью встроенных функций PowerPoint. Затем эти раскадровки можно связать с рабочими элементами.

Чтобы справиться с растущим географическим разбросом команд и вовлечь заинтересованные стороны раньше и чаще в процесс, Microsoft добавила клиент обратной связи.[10] Этот инструмент позволяет пользователям опробовать приложение, аннотировать то, что они видят, с помощью аудио и видео, снимать экраны и предоставлять контекстную обратную связь команде разработчиков. Это обеспечивает конкретную обратную связь о функциях приложения с точки зрения пользователей, не требуя встреч и демонстрационных сессий. Azure DevOps также предоставляет инструменты командной строки для сред Unix и Windows. Power Tools для TFS включает Оболочка Windows интеграция, которая позволяет пользователям возвращать и возвращать файлы, добавлять файлы и выполнять другие основные задачи, щелкая правой кнопкой мыши файл или папку.

Рабочие элементы

В основе Azure DevOps лежит «рабочий элемент». Рабочий элемент представляет собой вещь - это может быть работа, которую необходимо выполнить, риск, который необходимо отслеживать, тестовый пример, ошибка или практически все, что пользователь может вообразить. Рабочие элементы определяются через XML документы и легко расширяемы.[11] Рабочие элементы объединены в Шаблон процесса который содержит эти и другие части информации, чтобы обеспечить основу разработки. Azure DevOps включает шаблоны процессов для Платформа решений Microsoft для Agile, Scrum и CMMI. Команды могут выбрать использование встроенного шаблона или одного из множества доступных для использования шаблонов, созданных третьими сторонами. Шаблоны процессов можно настроить с помощью редактора шаблонов процессов, который является частью Power Tools.[12]

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

Гибкость системы рабочих элементов позволяет Azure DevOps выполнять множество ролей, от управления требованиями до отслеживания ошибок, отслеживания рисков и проблем, а также записи результатов проверок. Расширяемые возможности связывания гарантируют, что прослеживаемость от требований к исходному коду и тестовым примерам и результатам может быть достигнута и предоставлена ​​для целей аудита, а также исторического понимания изменений.

Управления источником

Azure DevOps поддерживает два разных типа управления источником - его оригинальный механизм управления версиями под названием Team Foundation Version Control (TFVC), а с выпуском TFS 2013 он поддерживает Git в качестве основного репозитория системы управления версиями.

Управление версиями Team Foundation

TFVC - это централизованная система контроля версий, позволяющая командам хранить любой тип артефакта в своем репозитории.[13] TFVC поддерживает два разных типа рабочих областей при работе с клиентскими инструментами - серверные рабочие области и локальные рабочие области.[14] Серверные рабочие области позволяют разработчикам блокировать файлы для извлечения и уведомлять других разработчиков о том, что файлы редактируются. Частая жалоба на эту модель заключается в том, что файлы на машине разработки помечены как доступные только для чтения. Это также требует, чтобы разработчики «переходили в автономный режим», когда с сервером невозможно связаться. Локальные рабочие пространства были разработаны, чтобы избежать этих проблем. Файлы сценария в локальной рабочей области не доступны только для чтения, и их не нужно извлекать перед работой с ними. Пока файлы находятся на локальной машине разработчика, не имеет значения, подключен сервер или нет. Конфликты разрешаются в регистрироваться время.

Для повышения производительности удаленных клиентов в Azure DevOps предусмотрена возможность установки Прокси-серверы.[15] Прокси-серверы позволяют кэшировать содержимое системы управления версиями на сайте, более близком к разработчикам, чтобы избежать длительных сетевых отключений и связанных с ними задержек. Проверки по-прежнему выполняются непосредственно на уровне приложений Azure DevOps, поэтому прокси-сервер наиболее эффективен в сценариях чтения.

Как часть механизма управления версиями Azure DevOps поддерживает ряд функций, которые помогают разработчикам гарантировать, что проверяемый код соответствует настраиваемым правилам. Этот механизм правил называется политикой регистрации. Существует несколько готовых политик, таких как Политика комментариев к набору изменений, которая не разрешает регистрацию, если разработчик не введет комментарий регистрации. Эти политики являются расширяемыми и могут использоваться для проверки всех аспектов проверяемого кода, комментариев и связанных рабочих элементов. Azure DevOps также поддерживает функцию анализа кода, которая при независимом использовании называется FxCop. Включение в Azure DevOps означает, что анализ может выполняться для кода, проверенного на сервере, и во время автоматических сборок.

Расширение Azure Repos для Код Visual Studio поддерживает TFVC.[16]

Git

С выпуском TFS 2013 Microsoft добавила встроенную поддержку для Git. Это не конкретная реализация Microsoft, а стандартная реализация, основанная на libgit2.[17] библиотека. Это та же библиотека, которая поддерживает популярные GitHub и код находится в свободном доступе на GitHub. Поскольку Microsoft выбрала подход к использованию стандартной библиотеки, любой клиент Git теперь можно использовать изначально с Azure DevOps (другими словами, разработчики могут использовать свои любимые инструменты и никогда не устанавливать стандартные клиенты Azure DevOps). Это позволяет инструментам на любой платформе и любой IDE, поддерживающей Git, подключаться к Azure DevOps. Например, оба Xcode и Android Studio поддержка подключаемых модулей Git. Кроме того, если разработчики не хотят использовать подключаемый модуль Microsoft Team Explorer Everywhere для Затмение, они могут использовать eGit[18] для подключения к Azure DevOps.

Использование Git не исключает преимуществ использования рабочего элемента или системы сборки Azure DevOps. При проверке кода с помощью Git ссылка на идентификатор рабочего элемента в комментарии к отметке о регистрации свяжет регистрацию с заданным рабочим элементом. Аналогичным образом Team Build также будет создавать проекты Git.

Одна из основных причин использования Azure DevOps в качестве репозитория Git заключается в том, что он поддерживается SQL Server и имеет ту же защиту, что и Team Foundation Version Control (TFVC). Это дает разработчикам возможность выбора при выборе типа проекта и стиля работы, который им лучше всего подходит.

Составление отчетов

Отчеты являются основным компонентом Azure DevOps с момента его первого выпуска в 2005 году. Инфраструктура отчетов состоит из хранилища данных.[19] (Tfs_Warehouse), которая представляет собой реляционную базу данных и куб данных служб аналитики SQL Server.[20] Оба этих источника доступны для отчетов через службы отчетов SQL Server, если этот параметр установлен. Поскольку это стандартные структуры базы данных и куба, любой инструмент, который может указывать на эти источники данных, может создавать отчеты на их основе. Сюда входят такие инструменты, как Cognos, Tableau, Excel и другие инструменты отчетности. В каждый готовый шаблон процесса входит набор отчетов для служб отчетов, которые охватывают информацию о сборке, результаты и ход тестирования, управление проектами, гибкие отчеты (обзор невыполненных работ, выпуск релизов, спринт Burndown и скорость), данные об ошибках и проблемах. Новые отчеты могут быть созданы с помощью Report Builder для SSRS, а любой из существующих отчетов может быть изменен.

Для результатов нагрузочного теста доступны более специализированные отчеты. Эти данные доступны непосредственно в Visual Studio и могут быть экспортированы в Excel для подробного анализа.

В TFS 2013 появилась новая функция, называемая «облегченная отчетность», которая обеспечивает возможность создавать отчеты в реальном времени на основе результатов запроса, которые не зависят от хранилища или куба. TFS 2012 (и продолжающийся до 2013 года) предлагает диаграммы выгорания, скорости и CFD в реальном времени непосредственно в Team Web Access.

Сборка команды

Team Build (до TFS 2015) - это приложение сервера сборки, включенное в Team Foundation Server. Два компонента составляют Team Build - MSBuild и Windows Workflow Foundation. MSBuild - это декларативный язык XML, похожий на Apache Ant. WF был добавлен в процесс сборки начиная с TFS 2010; до этого был доступен только MSBuild. Возможности сборки продолжали развиваться с каждым последующим выпуском Azure DevOps. В TFS 2010 и 2012 шаблоны WF (Расширяемый язык разметки приложений ) файлы хранились в системе контроля версий, и их можно было редактировать и управлять версиями непосредственно из системы контроля версий. В TFS 2013 эти файлы были удалены, чтобы устранить беспорядок и упростить процесс сборки. При желании шаблоны WF по-прежнему можно загружать, редактировать и сохранять в системе управления версиями, и TFS 2013 не нарушает существующие шаблоны процесса сборки TFS 2010 или 2012. При поддержке Git в TFS 2013 Team Build был улучшен, чтобы позволить автоматическое создание проектов Git, а также проектов TFVC.

Windows Workflow контролирует общий поток процесса сборки, а Azure DevOps включает множество предварительно созданных действий рабочего процесса для управления общими задачами, которые выполняются во время сборки.[21] MSBuild - это язык разметки, который находится в файлах .proj (csproj для проектов C # и vbproj для проектов Visual Basic). Система сборки является расширяемой: пользователи могут создавать свои собственные действия рабочего процесса, могут внедрять MSBuild в процесс и выполнять внешние процессы. Рабочий процесс сборки обеспечивает неограниченную гибкость, но для достижения такой гибкости может потребоваться некоторая работа. Общий[22] и были начаты проекты с открытым исходным кодом для создания поддерживаемых сообществом мероприятий по расширению возможностей Team Build.

Процесс сборки можно настроить для различных типов сборок, включая запланированные сборки, непрерывная интеграция, закрытый заезд и прокатные постройки. Сборка с закрытой регистрацией откроет код, который разработчик регистрирует, выполнит «получение последней версии» для кода сервера и выполнит сборку. Если сборка завершается успешно, код проверяется от имени разработчика, отправившего код. В случае сбоя сборки разработчик получает уведомление и может исправить код перед повторной попыткой возврата.

У сборок есть политики хранения, чтобы они не накапливались, когда они не нужны (или сборки могут быть направлены так, чтобы не создавать никаких сохраненных результатов), или выходные данные сборки могут быть заблокированы и сохранены навсегда. Новым в TFS 2013 является возможность регистрировать результаты сборки в системе контроля версий. Это было необходимым усовершенствованием для поддержки автоматических сборок в Azure DevOps Services, где нет места для размещения сборок. В локальной версии выходные данные сборки можно настроить так, чтобы они попадали в любое доступное расположение общей папки.

Процесс сборки в Azure DevOps также является частью механизма отслеживания, в котором Team Build объединяет многие артефакты, которые создаются и хранятся в Azure DevOps. Предполагая, что разработчики связывают исходный код с рабочими элементами при регистрации, Team Build имеет возможность сообщать об изменениях в каждой сборке - как об изменениях исходного кода, так и об изменениях рабочих элементов, а также о результатах тестирования (включая модульное тестирование результаты, а также результаты автоматизированного функционального тестирования (CodedUI)). Как ошибки и PBIs разрешаются и интегрируются в сборки, рабочие элементы, отслеживающие эти артефакты, автоматически обновляются, чтобы указать, в какую сборку они были успешно интегрированы. В сочетании с инструментами тестирования тестировщики получают интегрированное представление о том, какой код был изменен в каждой сборке, а также о том, какие ошибки, PBIs и другие работы менялись от сборки к сборке.

Первоначально в TFS 2015 и с Visual Studio Team Services (VSTS) Microsoft заново изобрела архитектуру механизма сборки, основанного на кроссплатформенном приложении Node.js. В настоящее время поддерживаются агенты сборки для Windows, Mac и Linux. Azure DevOps предоставляет возможности эластичной сборки с помощью хостинга сборки в Microsoft Azure.[23]

Управление релизами

В середине 2013 года Microsoft приобрела у InCycle Software продукт под названием InRelease.[24] InRelease был полностью включен в Team Foundation Server 2013. Эта возможность дополняла процессы автоматизированной сборки и тестирования, позволяя непрерывное развертывание решение. Инструменты были переименованы в «Управление выпусками» для TFS 2013. Возможности управления выпусками дают командам возможность выполнять контролируемый рабочий процесс (предоставляемый Windows Workflow Foundation ) управляет выпуском для сред разработки, тестирования и производства и предоставляет информационные панели для мониторинга прогресса одного или нескольких выпусков.

Microsoft перестроила Release Management для Visual Studio Team Services и локальную версию TFS с новыми изменениями в обновлении 2 2015 года. Новая версия Release Management использует веб-браузер в качестве клиента и использует ту же архитектуру агента, что и Team Foundation Build. . Управление выпусками позволяет DevOps возможности для Azure DevOps.

История

Эта первая версия Team Foundation Server была выпущена 17 марта 2006 г.[25]

Наименование товараФормаГод выпускаНомер версии [26]
Командная система Visual Studio 2005На территории20068
Visual Studio Team System 2008На территории20089
Team Foundation Server 2010[27]На территории201010
Предварительная версия службы Team FoundationОблако2012
Team Foundation Server 2012На территории201211
Visual Studio Online[28]Облако2013
Team Foundation Server 2013На территории201312
Team Foundation Server 2015На территории201514
Visual Studio Team ServicesОблако2015
Team Foundation Server 2017На территории201715
Team Foundation Server 2018На территории201716
Службы Azure DevOps[29]Облако2018
Сервер Azure DevOps 2019[30]На территории2019

Смотрите также

Рекомендации

  1. ^ «Примечания к выпуску обновления 1 для Azure DevOps Server 2019». Документы Microsoft. Получено 2019-10-12.
  2. ^ «Управление жизненным циклом приложений с помощью Visual Studio и Team Foundation Server». MSDN. Microsoft. 2013. Получено 2013-10-15.
  3. ^ «Внедрение Team Explorer повсюду». MSDN. Microsoft. Получено 26 мая 2017.
  4. ^ «Новый выпуск« Cadence »начинается с Visual Studio 2012 с обновлением 2». 1105 Медиа. 2013. Получено 2013-10-15.
  5. ^ «Улучшения доступности (ядро СУБД)». Microsoft. 2012 г.. Получено 2013-10-17.
  6. ^ «Архитектура сервера Team Foundation». Microsoft. 2012 г.. Получено 2013-10-17.
  7. ^ «Установите оповещения, получайте уведомления, когда происходят изменения». Microsoft. 2013. Получено 2013-10-17.
  8. ^ «Как создать адаптер». Microsoft. 2008 г.. Получено 2013-10-17.
  9. ^ «Поставщик Microsoft Visual Studio Team Foundation Server 2012 MSSCCI». Microsoft. 2012 г.. Получено 2013-10-17.
  10. ^ "Запросить и просмотреть отзыв". Microsoft. 2012 г.. Получено 2013-10-17.
  11. ^ «Как настроить рабочие элементы и рабочие процессы TFS 2010». Тед Густав. 2010 г.. Получено 2013-10-17.
  12. ^ «Инструменты Microsoft Visual Studio Team Foundation Server 2013 Power Tools». Microsoft. 2013. Получено 2013-10-17.
  13. ^ «Управление версиями Team Foundation (TFVC)». Azure DevOps. Документы Microsoft. Получено 2019-09-23.
  14. ^ «Серверные рабочие области и локальные рабочие области». Фил Келли. 2013. Получено 2013-10-17.
  15. ^ «Как: установить Team Foundation Proxy и настроить удаленный сайт». Microsoft. 2013. Получено 2013-10-17.
  16. ^ «Поддержка управления версиями Team Foundation (TFVC)». Расширение Azure Repos для кода Visual Studio. GitHub. Получено 2019-09-23.
  17. ^ "GitHub libgit2 / libgit2". GitHub. 2013. Получено 2013-10-31.
  18. ^ «ЭГит». Затмение. 2013. Получено 2013-10-31.
  19. ^ «Компоненты хранилища данных TFS». Microsoft. 2013. Получено 2013-10-17.
  20. ^ «Перспективы и группы мер, представленные в кубе служб Analysis Services для Team System». Microsoft. 2013. Получено 2013-10-17.
  21. ^ «Деятельность по созданию Team Foundation». Microsoft. 2013. Получено 2013-10-17.
  22. ^ «Расширения сборки TFS сообщества». Codeplex. 2013. Получено 2013-10-17.
  23. ^ «Microsoft Azure - Портал». Microsoft. 2016 г.. Получено 2016-05-17.
  24. ^ «Microsoft приобретает InRelease, добавляя непрерывное развертывание в Visual Studio, Team Foundation Server». Следующая Сеть. 2013. Получено 2013-11-15.
  25. ^ Тафт, Дэррил К. (16 марта 2006 г.). «Microsoft объявляет о выпуске Team Foundation Server». Разработка. eWeek. Зифф Дэвис. Получено 2019-10-13.
  26. ^ kexugit. «Какая у меня версия Team Foundation Server?». docs.microsoft.com. Получено 2020-08-26.
  27. ^ «Microsoft представляет следующую версию Visual Studio и .NET Framework». Новости компании. Microsoft. 29 сентября 2008 г.. Получено 2019-10-13.
  28. ^ Брайт, Питер (12 ноября 2013 г.). «Microsoft переносит разработку в облако с помощью Visual Studio Online». Информационные технологии. Ars Technica. Condé Nast. Получено 2019-10-13.
  29. ^ Круто, Джейми (10 сентября 2018 г.). «Представляем Azure DevOps». Блог. Microsoft Azure. Microsoft. Получено 2019-10-13.
  30. ^ Круто, Джейми (5 марта 2019 г.). «Теперь доступно: Azure DevOps Server 2019». Блог. Microsoft Azure. Microsoft. Получено 2019-10-13.

внешняя ссылка