Основные понятия для новых пользователей Azure Pipelines

Azure DevOps Services

Узнайте о ключевых понятиях и компонентах, составляющих Azure Pipelines. Основные термины и части конвейера помогут вам эффективнее создавать, тестировать и развертывать код.

Общие сведения о ключевых понятиях

графический элемент основных концепций

Термины Azure Pipelines

Агент

При выполнении сборки или развертывания система начинает одно или несколько заданий. Агент вычисляет инфраструктуру с установленным программным обеспечением агента, выполняющим одно задание одновременно. Например, задание может выполняться в агенте Ubuntu, размещенном корпорацией Майкрософт.

Дополнительные сведения о различных типах агентов и их использовании см. в статье Azure Pipelines Agent.

Утверждения

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

Артефакт

Артефакт — это коллекция файлов или пакетов, опубликованных в ходе выполнения. Артефакты становятся доступными для последующих задач, таких как распространение или развертывание. Дополнительные сведения см. в статье "Артефакты" в Azure Pipelines.

Непрерывная поставка

Непрерывная доставка (CD) — это процесс, с помощью которого код создается, тестируется и развертывается на одном или нескольких этапах тестирования и рабочей среды. Развертывание и тестирование на нескольких этапах помогает повысить качество. Системы непрерывной интеграции создают артефакты, готовые для развертывания, которые включают инфраструктуру и приложения. В автоматизированных конвейерах выпуска эти артефакты используются для выпуска новых версий и исправлений в существующих системах. Системы мониторинга и оповещений постоянно выполняются для обеспечения видимости всего процесса CD. Этот процесс гарантирует, что ошибки будут замечены на ранних этапах.

Непрерывная интеграция

Непрерывная интеграция (CI) — это практика, которую группы разработчиков используют для упрощения тестирования и создания кода. CI помогает перехватывать ошибки или проблемы в начале цикла разработки, что упрощает их и быстрее устранять. Автоматические тесты и сборки выполняются в рамках процесса CI. Процесс может выполняться по заданному расписанию, при отправке кода или в обоих случаях. В системах непрерывной интеграции создаются так называемые артефакты. Они используются конвейерами непрерывной доставки для автоматического развертывания.

Развертывание

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

Для конвейеров YAML развертывание относится к заданию развертывания. Задание развертывания — это коллекция шагов, которые выполняются последовательно в среде. Для заданий развертывания можно использовать такие стратегии, как запуск один раз, скользящий и канарийный.

Группа развертывания

Группа развертывания — это набор целевых компьютеров развертывания, на которых установлены агенты. Группа развертывания — это просто другая группа агентов, например пул агентов. Целевые объекты развертывания можно задать в конвейере для задания с помощью группы развертывания. Дополнительные сведения об агентах подготовки для групп развертывания.

Среда

Среда — это коллекция ресурсов, в которых развертывается приложение. Одна среда может содержать одну или несколько виртуальных машин, контейнеров, веб-приложений или любой службы. Конвейеры развертываются в одной или нескольких средах после завершения сборки и выполняются тесты.

Работа

Этап содержит одно или несколько заданий. Каждое задание выполняется в агенте. Задание представляет собой границу выполнения набора шагов. Все шаги выполняются вместе на одном агенте. Задания наиболее полезны, если требуется выполнить ряд шагов в разных средах. Например, может потребоваться создать две конфигурации — x86 и x64. В этом случае у вас есть один этап и два задания. Одно задание будет для x86, а другое задание — для x64.

Задания без агента выполняются в Azure DevOps и Azure DevOps Server без использования агента. Ограниченное количество задач , поддерживающих задания без агента.

Pipeline

Конвейер определяет процесс непрерывной интеграции и развертывания для приложения. Он состоит из одного или нескольких этапов. Его можно рассматривать как рабочий процесс, определяющий, как выполняются этапы тестирования, сборки и развертывания.

Для классических конвейеров конвейер также можно называть определением.

Выпуск

Для классических конвейеров выпуск представляет собой набор артефактов, указанных в конвейере в версии. В выпуске содержится моментальный снимок всех сведений, необходимых для выполнения всех задач и действий в конвейере выпуска, таких как этапы, задачи, политики, такие как триггеры и утверждающие, а также параметры развертывания. Вы можете создать выпуск вручную, с триггером развертывания или с помощью REST API.

Для конвейеров YAML этапы сборки и выпуска находятся в одном многоэтапном конвейере.

Выполнить

Выполнение представляет одно выполнение конвейера. Она собирает журналы, связанные с выполнением шагов и результатами выполнения тестов. Во время выполнения Azure Pipelines сначала обработает конвейер, а затем отправит выполнение одному или нескольким агентам. Каждый агент выполняет задания. Дополнительные сведения о последовательности выполнения конвейера.

Для классических конвейеров сборка представляет одно выполнение конвейера.

Скрипт

Скрипт запускает код в качестве шага в конвейере с помощью командной строки, PowerShell или Bash. Вы можете создавать кроссплатформенные сценарии для macOS, Linux и Windows. В отличие от задачи, скрипт — это пользовательский код, характерный для конвейера.

Этап

Этап — это логическая граница в конвейере. Его можно использовать для обозначения разделения проблем (например, сборка, QA и рабочая среда). Каждый этап содержит одно или несколько заданий. При определении нескольких этапов конвейера по умолчанию они выполняются один после другого. Условия выполнения этапа можно указать. Когда вы думаете о необходимости этапа, спросите себя:

  • Управляют ли отдельные группы различными частями этого конвейера? Например, у вас может быть диспетчер тестирования, который управляет заданиями, связанными с тестированием и другим менеджером, который управляет заданиями, связанными с рабочим развертыванием. В этом случае имеет смысл иметь отдельные этапы тестирования и рабочей среды.
  • Существует ли набор утверждений, подключенных к определенному заданию или набору заданий? В этом случае можно использовать этапы для разбиения заданий в логические группы, для которых требуются утверждения.
  • Есть ли задания, которые должны выполняться долгое время? Если задание в конвейере имеет длительное время выполнения, это задание имеет смысл поместить это задание на свой собственный этап.

Этап

Шаг — это самый маленький стандартный блок конвейера. Например, конвейер может состоять из шагов сборки и тестирования. Шаг может быть скриптом или задачей. Задача — это просто готовый скрипт, предлагаемый в качестве удобства. Сведения о доступных задачах см. в справочнике по задачам сборки и выпуска. Сведения о создании пользовательских задач см. в разделе "Создание настраиваемой задачи".

Задача

Задача — это стандартный блок для определения автоматизации в конвейере. Задача упакована скрипт или процедуру, абстрагированную с набором входных данных.

Триггер

Триггер указывает, когда конвейер должен выполняться. Конвейер можно настроить для выполнения при отправке в репозиторий, в запланированное время или после завершения другой сборки. Все эти действия называются триггерами. Дополнительные сведения см. в разделе "Триггеры сборки " и "Триггеры выпуска".

Библиотека

Библиотека включает безопасные файлы и группы переменных. Безопасные файлы — это способ хранения файлов и их совместного использования в конвейерах. Например, может потребоваться ссылаться на один и тот же файл для разных конвейеров. В этом случае файл можно сохранить в библиотеке и использовать его при необходимости. Группы переменных хранят значения и секреты, которые может потребоваться передать в конвейер YAML или сделать доступными для нескольких конвейеров.

О авторах

  • Дэйв Джарвис внес свой вклад в основные концепции обзора рисунка.