Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Среда Azure Pipelines — это группа ресурсов, предназначенных для развертываний из конвейера. Типичные среды включают разработку, тестирование или рабочую среду.
Чтобы добавить ресурсы физической или виртуальной машины в среды, установите агенты на компьютерах. Затем журнал развертывания среды обеспечивает трассировку с каждого компьютера. В этой статье описывается определение и использование сред для управления развертываниями между виртуальными машинами или ресурсами сервера.
Примечание.
Среды Azure DevOps доступны только для конвейеров YAML. Для классических конвейеров группы развертывания предоставляют аналогичные функциональные возможности.
Необходимые компоненты
Для выполнения процедур, описанных в этой статье, необходимо выполнить следующие предварительные требования:
- Доступ к исходному репозиторию, где можно создавать конвейеры. Дополнительные сведения см. в разделе "Поддерживаемые исходные репозитории".
- Роль администраторапула развертывания — набор целевых серверов, доступных вашей организации Azure DevOps. Дополнительные сведения см. в разделе "Настройка безопасности группы развертывания" в Azure Pipelines.
- Разрешения администратора проекта или администратора сборки в проекте Azure DevOps, содержащего среду. Дополнительные сведения см. в разделе "Безопасность ресурсов".
- Доступ и разрешение на скачивание и запуск исполняемых скриптов на виртуальных машинах, которые требуется подключить к среде.
Создание среды и добавление виртуальной машины
Используйте следующую процедуру, чтобы добавить виртуальную машину или физический компьютер в среду.
Создание среды с ресурсом виртуальной машины
В проекте Azure DevOps перейдите в "Среды конвейеров>" и выберите "Создать среду" или "Создать среду".
На экране "Новая среда " введите имя и необязательное описание.
В разделе "Ресурс" выберите "Виртуальные машины" и нажмите кнопку "Далее".
Копирование скрипта регистрации
Скрипты агента для ресурсов виртуальных машин похожи на сценарии для локальных агентов и используют те же команды. Скрипты включают маркер личного доступа Azure DevOps (PAT) для пользователя, выполнившего вход, срок действия которого истекает через три часа после создания скрипта. Для установки агента требуется только PAT.
Примечание.
Чтобы настроить агент группы развертывания или при регистрации ресурса среды виртуальной машины, попробуйте задать область доступа PAT для всех доступных организаций в параметрах пользователей персональных>маркеров доступа.
На экране ресурсов виртуальной машины выберите Linux в разделе "Операционная система".
Щелкните значок, чтобы скопировать скрипт регистрации Linux.
Сценарий одинаков для всех виртуальных машин Linux, добавленных в среду. Дополнительные сведения об установке скрипта агента см. в разделе "Локальные агенты Linux".
Запуск скопированного скрипта регистрации на виртуальной машине
Выберите Закрыть. Создается новая среда. Чтобы снова скопировать скрипт, например, если срок действия PAT истек, нажмите кнопку "Добавить ресурс " еще раз на странице среды.
Запустите скопированный скрипт на каждой целевой виртуальной машине, которую требуется зарегистрировать в среде.
Примечание.
Если на виртуальной машине уже запущен другой агент, укажите уникальное имя нового
agentдля регистрации в среде.После регистрации виртуальной машины убедитесь, что она отображается на вкладке "Ресурсы " на странице среды Azure Pipelines.
Использование сред в конвейерах YAML
Ресурсы виртуальных машин можно использовать в заданиях развертывания YAML, ссылаясь на свою среду. Дополнительные сведения о заданиях развертывания YAML см. в разделе "Задания развертывания" и определение jobs.deployment в справочнике по схеме конвейеров YAML.
Следующее задание развертывания конвейера выполняется только на виртуальных машинах в VMEnv среде.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VMenv
environment: VMenv
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Для конкретной виртуальной машины в среде можно добавить имя ресурса виртуальной машины в имя среды. В следующем примере развертывается только ресурс виртуальной машины с именем RESOURCE-PC в VMenv среде.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to RESOURCE-PC in VMenv
environment: VMenv.RESOURCE-PC # only deploy to the VM resource named RESOURCE-PC
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Вы также можете использовать полный синтаксис ключевого слова jobs-deployment-environment и развернуть на конкретных виртуальных машинах среды, перечислив их в resourceName.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to RESOURCE-PC in VMenv with full syntax
environment:
name: VMenv
resourceType: virtualMachine
resourceName: RESOURCE-PC # only deploy to the VM resource named RESOURCE-PC
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Примечание.
- Такие
resourceTypeзначения чувствительныvirtualMachineк регистру. Неправильное регистрирование не приводит к обнаружению подходящих ресурсов. - При повторном выполнении этапа развертывание повторно запускается на всех указанных виртуальных машинах, а не только на неудачных целевых объектах.
Стратегия развертывания
В задании развертывания применяется развертывание strategy для определения способа развертывания приложения. Виртуальные машины поддерживают как стратегии, так runOnce и rolling стратегии. Дополнительные сведения о стратегиях развертывания и перехватчиках жизненного цикла см . в стратегиях развертывания.
Permissions
При первом запуске конвейера, использующего среду, необходимо предоставить разрешение для всех запусков конвейера для доступа к пулу агентов и среде. Выберите символ ожидания рядом с заданием на экране запуска сводки конвейера, а затем нажмите кнопку "Разрешить предоставить необходимые разрешения".
Добавление тегов и управление ими
Теги — это способ назначения определенного набора виртуальных машин среды для развертывания. При указании tags в ключевом слове environment конвейер развертывается только на виртуальных машинах среды с примененными тегами.
Количество тегов, которые можно применить к виртуальным машинам, не ограничено. Имена тегов ограничены 256 символами.
Вы можете применить или удалить теги, выбрав значок "Дополнительные действия " рядом с виртуальной машиной на вкладке "Ресурсы среды".
При регистрации скрипта агента на виртуальной машине можно также применять теги в интерактивном режиме.
При указании нескольких тегов конвейер развертывается только на виртуальных машинах, которые включают все теги. В следующем примере используются только виртуальные машины, имеющие оба windowsprod и тега. Конвейер не развертывается на виртуальных машинах, имеющих только один или ни один из тегов.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VM
environment:
name: VMenv
resourceType: virtualMachine
tags: windows,prod # only deploy to VMs with both windows and prod tags
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Просмотр истории развертывания
Перейдите на вкладку "Развертывания" на странице среды для полной трассировки фиксаций и рабочих элементов, а также журнала развертывания между конвейерами для каждой среды и ресурса.
Удаление виртуальной машины из среды
Чтобы удалить виртуальную машину из среды Linux, выполните следующую команду на компьютере.
./config.sh remove