Среда — ресурс виртуальной машины
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Используйте ресурсы виртуальной машины для управления развертываниями на нескольких компьютерах с помощью конвейеров YAML. Ресурсы виртуальных машин позволяют устанавливать агенты на собственных серверах для последовательного развертывания.
Ресурсы виртуальных машин подключаются к средам. После определения среды можно добавить виртуальные машины в целевой объект с помощью развертываний. Представление журнала развертывания в среде обеспечивает трассировку от виртуальной машины к конвейеру.
Необходимые компоненты
У вас должна быть по крайней мере базовая лицензия и доступ к следующим областям:
- репозиторий, подключенный к конвейеру
- виртуальная машина, которую требуется подключить к среде
Дополнительные сведения о безопасности azure Pipelines см. в разделе "Ресурсы безопасности конвейера".
Чтобы добавить виртуальную машину в среду, необходимо иметь роль Администратор istrator для соответствующего пула развертывания. Пул развертывания — это набор целевых серверов, доступных для организации. Дополнительные сведения о пуле развертывания и разрешениях среды.
Примечание.
Если вы настраиваете агент группы развертывания или возникает ошибка при регистрации ресурса среды виртуальной машины, необходимо задать область PAT для всех доступных организаций.
Создание ресурса виртуальной машины
Примечание.
Этот же процесс можно использовать для настройки физических компьютеров с помощью скрипта регистрации.
Первым шагом при добавлении ресурса виртуальной машины является определение среды.
Определение среды
- Выберите "Создать среду" или "Создать среду" в зависимости от того, является ли она первой средой.
- Добавьте имя (обязательно) для среды и описание.
- Сохраните новую среду.
Добавить ресурс
Выберите среду и нажмите кнопку "Добавить ресурс".
Выберите виртуальные машины для типа ресурса . Затем выберите Далее.
Выберите Windows или Linux для операционной системы.
Скопируйте скрипт регистрации. Сценарий будет скриптом PowerShell, если вы выбрали Windows и сценарий Linux, если вы выбрали Linux.
Запустите скопированный скрипт на каждой из целевых виртуальных машин, которые требуется зарегистрировать в этой среде.
- Если вы устанавливаете в Windows, вам потребуется запустить сценарий в качестве администратора PowerShell.
- Если вы устанавливаете в Linux, вам потребуется разрешение на скачивание и запуск исполняемых скриптов.
Примечание.
- Личный маркер доступа (PAT) для пользователя, вошедшего в систему, включается в скрипт. Срок действия PAT истекает в день создания скрипта.
- Если на виртуальной машине уже запущен любой другой агент, укажите уникальное имя агента для регистрации в среде.
- Дополнительные сведения об установке скрипта агента см. в разделе "Локальные агенты Linux" и "Локальные агенты Windows". Скрипты агента для ресурсов виртуальной машины похожи на скрипты для локальных агентов, и вы можете использовать те же команды.
После регистрации виртуальной машины он отображается как ресурс среды на вкладке "Ресурсы " среды.
Чтобы добавить дополнительные виртуальные машины, скопируйте скрипт еще раз. Выберите "Добавить виртуальные машины ресурсов>". Скрипты Windows и Linux одинаковы для всех виртуальных машин, добавленных в среду.
После успешной установки скрипта виртуальной машины виртуальная машина появится в списке ресурсов для среды.
Использование виртуальной машины в конвейерах
Целевые виртуальные машины в конвейере, ссылаясь на среду. По умолчанию задание конвейера выполняется для всех виртуальных машин, определенных для среды.resourceName
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VM
environment:
name: VMenv
resourceName: VMenv
resourceType: virtualMachine
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Примечание.
Значения resourceType
чувствительны к регистру. Указание неправильного регистра приведет к тому, что в среде отсутствуют соответствующие ресурсы. Дополнительные сведения см. в схеме YAML.
Чтобы получить развертывание, можно выбрать определенную виртуальную машину из среды, указав ее.resourceName
Например, для целевого развертывания только в ресурсе виртуальной машины, именованном USHAN-PC
в VMenv
среде, добавьте resourceName
параметр и присвойте ему значение USHAN-PC
.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VM
environment:
name: VMenv
resourceType: virtualMachine
resourceName: USHAN-PC # only deploy to the VM resource named USHAN-PC
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Дополнительные сведения о заданиях развертывания см. в схеме YAML.
Добавление тегов и управление ими
Теги позволяют использовать набор определенных виртуальных машин в среде для развертывания. Теги можно добавить на виртуальную машину в рамках интерактивного сценария регистрации или пользовательского интерфейса. Теги ограничены 256 символами. Количество тегов, которые можно использовать, не ограничено.
Добавьте или удалите теги в пользовательском интерфейсе из представления ресурсов, выбрав дополнительные действия для ресурса виртуальной машины.
При выборе нескольких тегов виртуальные машины, содержащие все теги, которые используются в конвейере. Например, этот конвейер предназначен для виртуальных машин с тегами и prod
виртуальными windows
машинами. Если у виртуальной машины есть только один из этих тегов, он не предназначен.
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- deployment: VMDeploy
displayName: Deploy to VM
environment:
name: VMenv
resourceType: virtualMachine
tags: windows,prod # only deploy to virtual machines with both windows and prod tags
strategy:
runOnce:
deploy:
steps:
- script: echo "Hello world"
Применение стратегии развертывания
Примените стратегию развертывания, чтобы определить способ развертывания приложения. Стратегия runOnce
и rolling
стратегия виртуальных машин поддерживаются.
Дополнительные сведения о стратегиях развертывания и перехватчиках жизненного цикла см. в разделе "Задания развертывания" и "Стратегии развертывания".
Просмотр истории развертывания
Перейдите на вкладку "Развертывания" для полной трассировки фиксаций и рабочих элементов, а также журнал развертывания между конвейерами для каждой среды и ресурса.
Удаление виртуальной машины из среды
Среда Windows
Чтобы удалить виртуальные машины из среды Windows, выполните следующую команду. Убедитесь, что выполняются следующие задачи:
- Выполните команду из командной строки PowerShell администратора
- Выполнение команды на каждом компьютере
- Выполните команду в том же пути к папке, что и команда регистрации среды.
./config.cmd remove
Среда Linux
Чтобы удалить виртуальную машину из среды Linux, выполните следующую команду на каждом компьютере.
./config.sh remove
Известные ограничения
При повторном выполнении этапа он повторно запускает развертывание на всех виртуальных машинах, а не только сбой целевых объектов.
Связанные статьи
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по