Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
DevOps — это методология разработки программного обеспечения, которая интегрирует разработку программного обеспечения (Dev) с системными операциями (Ops). Система помогает предоставлять новые функции программного обеспечения, обновления и исправления, которые соответствуют бизнес-целям.
Методология DevOps также охватывает следующее:
- Проектирование новых функций на основе целей, шаблонов использования и отзывов клиентов.
- Исправление, восстановление и усиление системы в случае возникновения проблем.
Одним из компонентов методологии DevOps является конвейер непрерывной интеграции (CI) и конвейер непрерывной доставки (CD). Конвейер CI/CD перемещает информацию, код и ресурсы от фиксации изменения в системе управления версиями через ряд этапов, чтобы создать систему. Ниже приведены действия по сборке, тестированию и выпуску.
Azure DevTest Labs можно использовать в конвейерах CI/CD. В этой статье рассматривается использование DevTest Labs в конвейерах сборки, тестирования и выпуска CI/CD в корпоративной среде.
Преимущества использования DevTest Labs в рабочих процессах DevOps
Лаборатория должна использоваться только командой, которая работает над областью функций. Этот фокус позволяет ускорить изменения, но ограничивает любые негативные последствия для меньшей группы. Изменения или проблемы происходят в лабораторной среде, не затрагивая ничего другого.
Этот фокус также позволяет совместно использовать ресурсы для конкретных областей, такие как инструменты, скрипты и шаблоны Azure Resource Manager (ARM). Разработчики могут использовать общие ресурсы для создания виртуальных машин со всеми нужными ими кодом, инструментами и конфигурацией. Шаблоны ARM создают виртуальные машины лаборатории и лабораторные среды с соответствующими ресурсами Azure. Шаблоны создают ресурсы динамически или создают базовые образы с помощью настроек.
Например, рассмотрим сценарий, в котором продукт является автономной системой, которая устанавливается на компьютере клиента. Чтобы обеспечить быстрое тестирование кода внутреннего цикла, DevTest Labs может создавать лабораторные виртуальные машины с установленным клиентским программным обеспечением, артефактами и конфигурациями.
Ниже приведены некоторые преимущества использования лабораторий в рабочих процессах DevOps:
Использование лаборатории в качестве компонента связывает определенную экосистему с ограниченными людьми. Как правило, команда или группа, работающая в общей области или определенной функции, назначает им лабораторию. Usually, a team or group working in a common area or a specific feature has a lab assigned to them.
Репликация инфраструктуры в облаке. Разработчик может быстро настроить экосистему разработки, которая включает виртуальную машину разработчика с исходным кодом и инструментами. Чтобы ускорить внутреннюю разработку, разработчик также может создать среду, которая почти идентична рабочей конфигурации.
Чтобы включить асинхронное тестирование, лаборатория в конвейере CI/CD может одновременно запускать несколько разных предварительных сред или компьютеров. Вы можете развертывать и управлять различными инфраструктурами поддержки и создавать агенты в лаборатории. You can deploy and manage different support infrastructures and build agents in a lab.
Использование лабораторий в конвейерах CI/CD
Конвейер CI/CD является критически важным компонентом DevOps. Конвейер интегрирует код из пулл-реквеста разработчика с существующим кодом и развертывает код в производственной среде. Для интеграции DevTest Labs не все ресурсы должны находиться в лаборатории. Например, можно настроить узел Jenkins за пределами лаборатории для более постоянного доступа к ресурсам. Ниже приведены некоторые примеры интеграции лабораторий в конвейер CI/CD.
Build
Конвейер сборки создает пакет компонентов для совместной проверки и передачи в выпуск. Динамическое построение инфраструктуры обеспечивает более широкий контроль. Лаборатории могут быть частью конвейера сборки в качестве расположений для агентов сборки и других ресурсов поддержки. DevTest Labs может ограничить доступ к лаборатории. Это улучшает безопасность агентов сборки и уменьшает вероятность случайного повреждения.
Так как в лаборатории может быть несколько сред, каждая сборка может выполняться асинхронно. Идентификатор сборки является частью информации о среде, которая однозначно идентифицирует ресурсы в определенной сборке.
Test
Конвейер CI/CD может автоматизировать создание ресурсов DevTest Labs, таких как виртуальные машины и среды для автоматического и ручного тестирования. В пайплайне используются информационные артефакты сборки или формулы для создания виртуальных машин с различными настраиваемыми тестовыми конфигурациями.
Release
Процесс выпуска может использовать DevTest Labs для проверки перед развертыванием кода. Процесс аналогичен тестированию. Рабочие ресурсы не следует развертывать в DevTest Labs.
Customization
Azure Pipelines, компонент Azure DevOps Services, предоставляет существующие задачи для управления виртуальными машинами и средами в определенных лабораториях. Azure Pipelines — это один из способов управления конвейером CI/CD. Вы можете интегрировать лабораторию в любую систему, которая поддерживает вызов REST API, выполнение сценариев PowerShell или использование Azure CLI.
Некоторые диспетчеры конвейеров CI/CD имеют существующие подключаемые модули с открытым исходным кодом, которые могут управлять ресурсами Azure и DevTest Labs. Возможно, вам потребуется использовать настраиваемые скрипты для соответствия потребностям конвейера. При выполнении задачи используйте учетную запись службы с соответствующей ролью, обычно Участник, чтобы получить доступ к лаборатории.