Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services
Чтобы создать и развернуть Windows, Azure и другие решения Visual Studio, вам потребуется по крайней мере один агент Windows. Агенты Windows также могут создавать приложения Java и Android.
В этой статье приведены рекомендации по использованию программного обеспечения агента 3.x с Azure DevOps Services и текущими версиями Azure DevOps Server. Список версий Azure DevOps Server, поддерживающих агент 3.x, см. в статье Поддерживает ли Azure DevOps Serverагент 3.x.
Примечание.
В этой статье описывается, как настроить агента, размещенного локально. Если вы используете Azure DevOps Services и агент, размещенный корпорацией Майкрософт , соответствует вашим потребностям, можно пропустить настройку локального агента Windows.
Сведения об агентах
Если вы уже знаете, какой агент и как он работает, вы можете перейти прямо к следующим разделам. Но если вы хотите узнать больше о том, что они делают и как работают, см. агенты Azure Pipelines.
Проверка предварительных условий
Убедитесь, что компьютер имеет следующие предварительные требования:
- Версия операционной системы
- Клиентская ОС
- Windows 7 SP1 ESU
- Windows 8.1
- Windows 10
- Windows 11
- ОС сервера
- Windows Server 2012 или более поздней версии
- Клиентская ОС
- Программное обеспечение агента устанавливает собственную версию .NET, поэтому нет предварительных условий для .NET.
- PowerShell 3.0 или более поздней версии
- Subversion — если вы создаете из репозитория Subversion, необходимо установить клиент Subversion на компьютере.
- Рекомендуемые средства сборки Visual Studio (2015 или более поздней версии)
При первом запуске программы установки агента необходимо выполнить настройку агента вручную. После получения сведений о том, как работают агенты или вы хотите автоматизировать настройку множества агентов, рассмотрите возможность использования автоматической настройки конфигурации.
Спецификации оборудования
Спецификации оборудования для агентов зависят от ваших потребностей, размера команды и т. д. Невозможно сделать общую рекомендацию, которая будет применяться ко всем. В качестве ориентира команда Azure DevOps разрабатывает код для размещенных агентов, используя pipeline, в которых задействованы размещенные агенты. С другой стороны, основная часть кода Azure DevOps создается на серверах класса с 24 ядрами, на каждом из которых работает четыре локальных агента.
Подготовка разрешений
Информационная безопасность для локальных агентов
Пользователю, настраивающему агента, требуются разрешения администратора пула, но пользователю, запускающему агента, они не нужны.
Папки, контролируемые агентом, должны быть доступны как можно меньшему числу пользователей, так как они содержат секреты, которые могут быть расшифрованы или эксфильтрованы.
Агент Azure Pipelines — это программный продукт, предназначенный для выполнения кода, скачиваемого из внешних источников. По сути это может быть мишенью для атак удаленного выполнения кода (RCE).
Поэтому важно рассмотреть модель угроз, связанную с каждым отдельным использованием агентов Конвейеров для выполнения работы, и решить, какие минимальные разрешения могут быть предоставлены пользователю, на котором работает агент, пользователям, у которых есть доступ на запись к определению конвейера, репозитории git, в которых хранится yaml, или группа пользователей, которые управляют доступом к пулу для новых конвейеров.
Рекомендуется, чтобы идентифицирующая информация для выполнения агента отличалась от той, что имеет разрешения на подключение агента к пулу. Пользователь, создающий учетные данные (и другие файлы, связанные с агентом), отличается от пользователя, который должен читать их. Поэтому рекомендуется тщательно рассмотреть доступ к самому компьютеру агента, а также папки агента, содержащие конфиденциальные файлы, такие как журналы и артефакты.
Имеет смысл предоставить доступ к папке агента только для администраторов DevOps и пользовательской учетной записи, запускающей агентский процесс. Администраторам может потребоваться исследовать файловую систему, чтобы понять ошибки сборки или получить файлы журналов, чтобы сообщить о сбоях Azure DevOps.
Выберите пользователя
Сначала необходимо зарегистрировать агента. Кто-то с разрешением администрировать очередь агента должен выполнить эти действия. Агент не будет использовать учетные данные этого пользователя в повседневной работе, но они необходимы для завершения регистрации. Дополнительные сведения о том, как агенты взаимодействуют.
Убедитесь, что у пользователя есть разрешение
Убедитесь, что учетная запись пользователя, которую вы собираетесь использовать, имеет разрешение на регистрацию агента.
Является ли пользователь владельцем организации Azure DevOps или администратором TFS или Azure DevOps Server? Остановитесь здесь, у вас есть разрешение.
Иначе:
Откройте браузер и перейдите на вкладку пулов агентов для организации Azure Pipelines или сервера Azure DevOps Server или TFS:
Войдите в свою организацию (
https://dev.azure.com/{yourorganization}
).Выберите Azure DevOps, параметры организации.
Выберите пулы агентов .
вкладка "Выбор пулов агентов"
Войдите в коллекцию проектов (
http://your-server/DefaultCollection
).Выберите Azure DevOps, параметры коллекции.
Выберите пулы агентов .
Выберите пул на правой стороне страницы и нажмите «Безопасность».
Если учетная запись пользователя, которую вы собираетесь использовать, не отображается, обратитесь к администратору, чтобы добавить её. Администратор может быть администратором пула агентов, владельцем организации Azure DevOpsили TFS или администратором Azure DevOps Server.
Если это агент группы развертывания
, администратор может быть администратором группы развертывания, владельцем организации Azure DevOps илиTFS или администратором Azure DevOps Server .Вы можете добавить пользователя в роль администратора группы развертывания на вкладке Безопасность на странице Группы развертывания в Azure Pipelines.
Примечание.
Если вы видите следующее сообщение: К сожалению, не удалось добавить удостоверение. Попробуйте другое удостоверение., вы, вероятно, выполнили описанные выше действия для владельца организации или администратора TFS или Azure DevOps Server. Вам ничего не нужно делать; У вас уже есть разрешение на администрирование пула агентов.
Скачивание и настройка агента
Пайплайны Azure
Войдите на компьютер с помощью учетной записи, для которой вы подготовили разрешения, как описано выше.
В веб-браузере войдите в Azure Pipelines и перейдите на вкладку пулов агентов :
Войдите в свою организацию (
https://dev.azure.com/{yourorganization}
).Выберите Azure DevOps, параметры организации.
Выберите пулы агентов .
вкладка "Выбор пулов агентов"
Войдите в коллекцию проектов (
http://your-server/DefaultCollection
).Выберите Azure DevOps, параметры коллекции.
Выберите пулы агентов .
Выберите пул по умолчанию, перейдите на вкладку Агенты и выберите Новый агент.
В диалоговом окне "Получение агента" выберите Windows.
На левой панели выберите архитектуру процессора установленной версии ОС Windows на компьютере. Версия агента x64 предназначена для 64-разрядной версии Windows, а версия x86 предназначена для 32-разрядных Windows. Если вы не уверены, какая версия Windows установлена, следуйте приведенным ниже инструкциям.
На правой панели нажмите кнопку "Скачать ".
Следуйте инструкциям на странице, чтобы скачать агент.
Распакуйте агент в выбранный каталог. Убедитесь, что путь к каталогу не содержит пробелов, так как средства и скрипты не всегда правильно обрабатывают пробелы. Рекомендуемая папка —
C:\agents
. Извлечение из папки загрузки или других пользовательских папок может привести к проблемам с разрешениями.
Это важно
Настоятельно рекомендуется настроить агент из окна PowerShell с повышенными привилегиями. Если вы хотите настроить в качестве службы, это необходимо.
Для настройки агента не следует использовать isE Windows PowerShell .
Это важно
По соображениям безопасности настоятельно рекомендуется убедиться, что папка агентов (C:\agents
) редактируется только администраторами.
Примечание.
Пожалуйста, избегайте использования оболочек на основе mintty, таких как git-bash, для настройки агента. Mintty не полностью совместим с собственным API Ввода и вывода Windows (вот некоторые сведения об этом) и мы не можем гарантировать, что сценарий установки будет работать правильно в этом случае.
Установка агента
Запустите окно с повышенными привилегиями (PowerShell) и задайте расположение для распаковки агента.
cd C:\agents
Выполните
config.cmd
. В результате вы получите ряд вопросов для настройки агента..\config.cmd
URL-адрес сервера
Когда программа установки запрашивает URL-адрес сервера для Azure DevOps Services, ответьте https://dev.azure.com/{your-organization}
.
Когда программа установки запрашивает URL-адрес сервера для Azure DevOps Server, ответьте https://{my-server}/{my-collection}
.
Тип аутентификации для настройки агента
При регистрации агента выберите один из следующих типов проверки подлинности, а программа установки предложит указать конкретные дополнительные сведения, необходимые для каждого типа проверки подлинности. Дополнительные сведения см. в разделе параметры проверки подлинности локального агента.
- личный маркер доступа
- Альтернативный метод Подключиться к серверу Azure DevOps или TFS с помощью базовой проверки подлинности. При выборе альтернативного вам потребуется ввести учетные данные.
Агенты Windows имеют следующие два дополнительных варианта проверки подлинности в Azure DevOps Server и TFS.
- Установить соединение Подключитесь к TFS как к пользователю, отличному от вошедшего в систему пользователя, через схему аутентификации Windows, такую как NTLM или Kerberos. После выбора "Переговоры" вам будет предложено указать учетные данные.
- Встроенная (по умолчанию) подключение агента Windows к TFS с помощью учетных данных пользователя, выполнившего вход, через схему проверки подлинности Windows, например NTLM или Kerberos. После выбора этого метода вам не будет предложено указать учетные данные.
Это важно
Сервер должен быть настроен для поддержки метода проверки подлинности для использования альтернативной, переговорной или интегрированной проверки подлинности.
Метод проверки подлинности, используемый для регистрации агента, используется только во время регистрации агента. Дополнительные сведения о том, как агенты взаимодействуют с Azure Pipelines после регистрации, см. в статье "Связь с Azure Pipelines" или TFS.
Выбор интерактивного или служебного режима
Рекомендации по запуску агента в интерактивном режиме или в качестве службы см. в разделе Agent: Interactive vs. Service.
Если вы решили запустить в качестве службы (что мы рекомендуем), имя пользователя, от имени которого выполняется служба, должно содержать 20 символов или меньше.
Запустите агента
Запуск в интерактивном режиме
Если агент настроен для интерактивного запуска, выполните следующую команду, чтобы запустить агент.
.\run.cmd
Чтобы перезапустить агент, нажмите Ctrl+C, чтобы остановить его, а затем запустите run.cmd
, чтобы перезапустить агент.
Примечание.
Если вы запускаете агент из PowerShell Core для выполнения задач Windows PowerShell, конвейер может завершиться ошибкой, например Error in TypeData "System.Security.AccessControl.ObjectSecurity": The member is already present
. Это связано с тем, что Windows PowerShell наследует PSModulePath
переменную среды, которая включает расположения модулей PowerShell Core из родительского процесса.
В качестве обходного решения можно установить в конвейере переключатель агента AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL
на true
. Это позволит агенту сбросить PSModulePath
перед выполнением задач.
variables:
AZP_AGENT_CLEANUP_PSMODULES_IN_POWERSHELL: "true"
Если это решение не устраняет проблему или если вам нужно использовать пользовательские расположения модулей, вы можете задать $Env:PSModulePath
переменную в окне PowerShell Core перед запуском агента.
Выполнить один раз
Вы также можете выбрать, чтобы агент принял только одно задание, а затем выйти. Чтобы выполнить эту конфигурацию, используйте следующую команду.
.\run.cmd --once
Агенты в этом режиме принимают только одно задание, а затем корректно завершают работу (полезно для запуска в Docker в таких службах, как Azure Container Instances).
Запуск от имени службы
Если агент настроен для запуска в качестве службы, он запускается автоматически. Вы можете просматривать и управлять статусом работы агента из оснастки служб. Запустите services.msc
и найдите один из следующих вариантов:
- "Агент Azure Pipelines (имя агента)"
- "Агент VSTS (имя агента)"
- "vstsagent. (имя организации). (имя агента)"
Примечание.
Чтобы обеспечить большую гибкость в управлении доступом агента, работающего в качестве службы, можно настроить тип идентификатора безопасности (SID) службы агента как [SERVICE_SID_TYPE_UNRESTRICTED
] с помощью флага или подсказки во время интерактивной настройки.
По умолчанию служба агента настраивается с SERVICE_SID_TYPE_NONE
помощью.
Дополнительные сведения о типах sid см. в этой документации.
Чтобы перезапустить агент, щелкните правой кнопкой мыши запись и выберите "Перезапустить".
Примечание.
Если необходимо изменить учетную запись входа агента, не используйте ее из оснастки служб. Вместо этого см. приведенные ниже сведения для перенастройки агента.
Чтобы использовать своего агента, используйте пул агента для выполнения задания . Если вы не выбрали другой пул, агент будет находиться в пуле по умолчанию .
Замена агента
Чтобы заменить агента, следуйте шагам загрузки и настройки агента еще раз.
При настройке агента с тем же именем, что и существующий, вам будет предложено заменить его. Если вы отвечаете Y
, убедитесь, что удаляете агента (см. ниже), которого заменяете. В противном случае после нескольких минут конфликтов один из агентов завершит работу.
Удаление и перенастройка агента
Чтобы удалить агент, выполните следующие действия.
.\config remove
После удаления агента можно снова настроить его.
Настройка без присмотра
Агент можно настроить из скрипта без вмешательства человека.
Необходимо передать --unattended
и ответы на все вопросы.
Чтобы настроить агент, он должен знать URL-адрес вашей организации или коллекции и учетные данные пользователя, авторизованного для настройки агентов.
Все остальные ответы являются необязательными.
Любой параметр командной строки можно указать с помощью переменной среды: напишите его имя заглавными буквами и добавьте в начало VSTS_AGENT_INPUT_
.
Например, VSTS_AGENT_INPUT_PASSWORD
вместо указания --password
.
Обязательные параметры
-
--unattended
— настройка агента не будет запрашивать сведения, и все параметры должны быть предоставлены в командной строке. -
--url <url>
— URL-адрес сервера. Например, https://dev.azure.com/myorganization или http://my-azure-devops-server:8080/tfs -
--auth <type>
— тип проверки подлинности. Допустимые значения:-
pat
(Личный маркер доступа) -
SP
(Service Principal) (Требуется версия агента 3.227.1 или новее) -
negotiate
(Kerberos или NTLM) -
alt
(обычная проверка подлинности) -
integrated
(Учетные данные Windows по умолчанию)
-
Параметры проверки подлинности
- Если вы выбрали
--auth pat
:-
--token <token>
— указывает личный маркер доступа - Вы также можете передать маркер OAuth 2.0 в качестве
--token
параметра.
-
- Если вы выбрали
--auth negotiate
или--auth alt
:-
--userName <userName>
— указывает имя пользователя Windows в форматеdomain\userName
или[email protected]
-
--password <password>
— указывает пароль
-
- Если вы выбрали
--auth SP
:-
--clientID <clientID>
— указывает идентификатор клиента служебного принципала с доступом для регистрации агентов -
--tenantId <tenantID>
— указывает идентификатор арендатора, в котором зарегистрирован служебный принципал. -
--clientSecret <clientSecret>
— указывает Секрет клиента сервисного принципала - См. Регистрация агента с использованием учетной записи службы для получения дополнительной информации
-
Имена пулов и агентов
-
--pool <pool>
— имя пула для вступления агента -
--agent <agent>
— имя агента -
--replace
— замените агента в пуле. Если другой агент слушает под тем же именем, у него начнется сбой из-за конфликта.
Настройка агента
-
--work <workDirectory>
— рабочий каталог, в котором хранятся данные задания. По умолчанию устанавливается в_work
в корневом каталоге агента. Рабочий каталог принадлежит заданному агенту и не должен быть предоставлен общий доступ между несколькими агентами. -
--acceptTeeEula
— примите условия лицензионного соглашения конечного пользователя Team Explorer Everywhere (только для macOS и Linux) -
--disableloguploads
— не отправляйте выходные данные журнала консоли на сервер. Вместо этого вы можете получить их из файловой системы узла агента после завершения задания.
Запуск только для Windows
-
--runAsService
— настройка агента для запуска в качестве службы Windows (требуется разрешение администратора) -
--runAsAutoLogon
— настройте автоматический вход и запустите агент при запуске (требуется разрешение администратора) -
--windowsLogonAccount <account>
используется вместе с--runAsService
или--runAsAutoLogon
, чтобы указать имя пользователя Windows в форматеdomain\userName
или[email protected]
-
--windowsLogonPassword <password>
— используется с--runAsService
или--runAsAutoLogon
для указания пароля входа в систему Windows (не требуется для групповых управляемых учетных записей служб и встроенных учетных записей Windows, таких как NT AUTHORITY\NETWORK SERVICE) -
--enableservicesidtypeunrestricted
— используется с--runAsService
для настройки агента с типом SID службыSERVICE_SID_TYPE_UNRESTRICTED
(требуются права администратора) -
--overwriteAutoLogon
— используется с--runAsAutoLogon
с целью перезаписать существующий автоматический вход на компьютере -
--noRestart
— используется с--runAsAutoLogon
чтобы предотвратить перезапуск узла после завершения конфигурации агента
Устранение неполадок при настройке агента с помощью параметра runAsAutoLogon
Настройка агента с параметром runAsAutoLogon
запускает агент каждый раз после перезапуска компьютера.
Выполните следующие действия, если агент не запущен после перезагрузки компьютера.
Если агент уже настроен на компьютере
Прежде чем перенастроить агент, необходимо удалить старую конфигурацию агента, поэтому попробуйте выполнить эту команду из папки агента:
.\config.cmd remove --auth 'PAT' --token '<token>'
Проверьте, был ли агент удален из пула агентов после выполнения команды:
<Azure DevOps organization> / <Project> / Settings / Agent pools / <Agent Pool> / Agents
Удалите агент из пула агентов вручную, если он не был удален, выполнив команду.
Затем попробуйте перенастроить агент, выполнив следующую команду из папки агента:
.\config.cmd --unattended --agent '<agent-name>' --pool '<agent-pool-name>' --url '<azure-dev-ops-organization-url>' --auth 'PAT' --token '<token>' --runAsAutoLogon --windowsLogonAccount '<domain\user-name>' --windowsLogonPassword '<windows-password>'
Укажите имя агента (любое уникальное имя) и проверьте, появился ли этот агент в пуле агентов после перенастройки.
Гораздо лучше распаковывать архив агента (который можно скачать здесь) и выполнить эту команду из новой распаковки папки агента.
Проверьте, правильно ли записан и сохранён ключ реестра Windows
whoami /user
Выполните команду, чтобы получить <sid>
. Откройте Registry Editor
и выполните следующий путь:
Computer\HKEY_USERS\<sid>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Проверьте, есть VSTSAgent
ли ключ. Удалите этот ключ, если он существует, а затем закройте Registry Editor
и настройте агент, выполнив .\config.cmd
команду (без args) из папки агента. Прежде чем ответить на вопрос Enter Restart the machine at a later time?
, снова откройте Registry Editor
и проверьте, появился ли VSTSAgent
ключ. Нажмите, Enter
чтобы ответить на вопрос, и проверьте, остается ли VSTSAgent
ключ на месте после перезапуска компьютера.
Проверьте, правильно ли работают ключи реестра Windows на вашем компьютере
autorun.cmd
Создайте файл, содержащий следующую строку: echo "Hello from AutoRun!"
Откройте Registry Editor
и в указанном выше пути создайте новую пару "ключ-значение" с ключом AutoRun
и значением.
C:\windows\system32\cmd.exe /D /S /C start "AutoRun" "D:\path\to\autorun.cmd"
Перезагрузите свой компьютер. У вас возникли проблемы с разделами реестра Windows, если окно консоли не отображается с сообщением Hello from AutoRun!
.
Только группа развертывания
-
--deploymentGroup
— настройте агента как агента группы развертывания -
--deploymentGroupName <name>
— используется с--deploymentGroup
для указания группы развертывания для присоединения агента. -
--projectName <name>
— используется с--deploymentGroup
для задания имени проекта -
--addDeploymentGroupTags
— используется вместе с--deploymentGroup
для указания на то, что теги группы развертывания должны быть добавлены -
--deploymentGroupTags <tags>
— используется с--addDeploymentGroupTags
для указания разделенного запятыми списка тегов агента группы развертывания, например web, db.
Только среды
-
--addvirtualmachineresourcetags
— используется для указания того, что теги ресурсов среды должны быть добавлены -
--virtualmachineresourcetags <tags>
— используется с--addvirtualmachineresourcetags
для указания разделенного запятыми списка тегов агента ресурсов среды, например web, db.
.\config --help
всегда перечисляет последние необходимые и необязательные ответы.
Диагностика
Если у вас возникли проблемы с локальным агентом, попробуйте выполнить диагностику. После настройки агента:
.\run --diagnostics
Это приведет к выполнению набора диагностики, который может помочь устранить проблему. Функция диагностики доступна начиная с агента версии 2.165.0.
Диагностика сети для локальных агентов
Установите значение Agent.Diagnostic
на true
, чтобы собирать дополнительные журналы, которые можно использовать для устранения неполадок сети для локально размещённых агентов. Дополнительные сведения см. в разделе "Диагностика сети" для локальных агентов
Справка по другим опциям
Чтобы узнать о других вариантах, выполните следующие действия.
.\config --help
Эта справка содержит сведения об альтернативных вариантах проверки подлинности и настройке без участия пользователя.
Возможности
Возможности агента каталогизируются и публикуются в пуле, чтобы ему назначались только те сборки и выпуски, которые он может обрабатывать. См. возможности агента сборки и развёртывания.
Во многих случаях после развертывания агента необходимо установить программное обеспечение или служебные программы. Как правило, следует установить на ваши агенты то программное обеспечение и инструменты, которые вы используете на вашей машине разработки.
Например, если сборка включает npm-задачу , сборка не будет выполняться, если в пуле нет агента сборки с установленным npm.
Это важно
Возможности включают все переменные среды и значения, заданные при запуске агента. Если любое из этих значений изменится во время работы агента, его надо перезапустить, чтобы учесть новые значения. После установки нового программного обеспечения на агенте необходимо перезапустить его, чтобы новая возможность стала доступна в пуле и можно было выполнить сборку.
Если вы хотите исключить переменные среды из возможностей, вы можете назначить их, задав переменную среды VSO_AGENT_IGNORE
со списком, разделённым запятыми переменных, которые следует игнорировать.
Вопросы и ответы
Какая версия Git используется моим агентом?
По умолчанию агент Windows использует версию Git, которая входит в состав программного обеспечения агента. Корпорация Майкрософт рекомендует использовать версию Git, которая входит в состав агента, но у вас есть несколько вариантов переопределить это поведение по умолчанию и использовать версию Git, установленную на компьютере агента в пути.
- Задайте переменную конвейера с именем
System.PreferGitFromPath
наtrue
в ваших конвейерах. - В локальных агентах можно создать файл с именем ENV в корневом каталоге агента и добавить
System.PreferGitFromPath=true
строку в файл. Для получения дополнительной информации см. Как установить различные переменные среды для каждого отдельного агента?
Чтобы просмотреть версию Git, используемую в конвейере, можно просмотреть журналы для шага в конвейере, что показано в следующем примере.
Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1
Как я могу убедиться, что у меня установлена последняя версия агента?
Перейдите на вкладку пулов агентов.
Войдите в свою организацию (
https://dev.azure.com/{yourorganization}
).Выберите Azure DevOps, параметры организации.
Выберите пулы агентов .
вкладка "Выбор пулов агентов"
Войдите в коллекцию проектов (
http://your-server/DefaultCollection
).Выберите Azure DevOps, параметры коллекции.
Выберите пулы агентов .
Щелкните пул, содержащий агент.
Убедитесь, что агент включен.
Перейдите на вкладку возможностей:
На вкладке "Пулы агентов" выберите нужный пул агентов.
Выберите агентов и выберите нужного агента.
Выберите вкладку Возможности.
Примечание.
Размещенные корпорацией Майкрософт агенты не отображают системные возможности. Список программного обеспечения, установленного в агентах, размещенных корпорацией Майкрософт, см. в статье Использование размещенного корпорацией Майкрософт агента.
На вкладке пулы агентов выберите нужный пул.
Выберите агентов и выберите нужного агента.
Выберите вкладку Возможности.
вкладка "Возможности агента
Найдите функцию
Agent.Version
. Вы можете сравнить это значение с последней опубликованной версией агента. Ознакомьтесь с агентом Azure Pipelines и проверьте страницу на наличие самого высокого номера версии.Каждый агент автоматически обновляется при выполнении задачи, требующей более новой версии агента. Если вы хотите вручную обновить некоторых агентов, щелкните пул и выберите Обновить всех агентов.
Можно ли обновить агентов, входящих в пул серверов Azure DevOps?
Да. Начиная с Azure DevOps Server 2019, можно настроить сервер для поиска файлов пакета агента на локальном диске. Эта конфигурация переопределит версию по умолчанию, которая поставлялась с сервером во время выпуска. Этот сценарий также применяется, если сервер не имеет доступа к Интернету.
С компьютера с доступом к Интернету скачайте последнюю версию файлов пакета агента (в .zip или .tar.gz форме) на странице выпусков агента Azure Pipelines GitHub.
Передайте скачанные файлы пакетов на каждый уровень приложений Azure DevOps Server с помощью выбранного метода (например, USB-накопителя, передачи сети и т. д.). Поместите файлы агента в следующую папку:
- Виндовс:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Линукс:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
Создайте папку агентов , если она отсутствует.
- Все готово! Сервер Azure DevOps теперь будет использовать локальные файлы при обновлении агентов. Каждый агент автоматически обновляется при выполнении задачи, требующей более новой версии агента. Но если вы хотите вручную обновить некоторые из агентов, щелкните правой кнопкой мыши группу агентов и выберите Обновить все агенты.
Я выполняю брандмауэр, и мой код находится в Azure Repos. С какими URL-адресами должен взаимодействовать агент?
Если агент запущен в защищенной сети за брандмауэром, убедитесь, что агент может инициировать связь со следующими URL-адресами и IP-адресами.
URL-адрес домена | Описание |
---|---|
https://{organization_name}.pkgs.visualstudio.com |
API упаковки Azure DevOps для организаций, использующих домен {organization_name}.visualstudio.com |
https://{organization_name}.visualstudio.com |
Для организаций, использующих домен {organization_name}.visualstudio.com |
https://{organization_name}.vsblob.visualstudio.com |
Данные телеметрии Azure DevOps для организаций, использующих домен {organization_name}.visualstudio.com |
https://{organization_name}.vsrm.visualstudio.com |
Службы управления выпусками для организаций с помощью домена {organization_name}.visualstudio.com |
https://{organization_name}.vssps.visualstudio.com |
Azure DevOps Platform Services для организаций, использующих домен {organization_name}.visualstudio.com |
https://{organization_name}.vstmr.visualstudio.com |
Службы управления тестами Azure DevOps для организаций с помощью домена {organization_name}.visualstudio.com |
https://*.blob.core.windows.net |
Артефакты Azure |
https://*.dev.azure.com |
Для организаций, использующих домен dev.azure.com |
https://*.vsassets.io |
Артефакты Azure через CDN |
https://*.vsblob.visualstudio.com |
Данные телеметрии Azure DevOps для организаций, использующих домен dev.azure.com |
https://*.vssps.visualstudio.com |
Azure DevOps Platform Services для организаций, использующих домен dev.azure.com |
https://*.vstmr.visualstudio.com |
Службы управления тестами Azure DevOps для организаций с помощью домена dev.azure.com |
https://app.vssps.visualstudio.com |
Для организаций, использующих домен {organization_name}.visualstudio.com |
https://dev.azure.com |
Для организаций, использующих домен dev.azure.com |
https://login.microsoftonline.com |
Вход Microsoft Entra |
https://management.core.windows.net |
API управления Azure |
https://vstsagentpackage.azureedge.net https://download.agent.dev.azure.com |
Пакет агента |
Это важно
Edgio CDN для Azure DevOps выводится из эксплуатации, для чего нужно добавить новый URL-адрес домена в разрешённые правила брандмауэра для загрузки программного обеспечения агента.
Новый домен, который нужно включить в разрешенный список для скачивания агента https://*.dev.azure.com
. Если правила брандмауэра не разрешают подстановочные знаки, используйте https://download.agent.dev.azure.com
.
Команда Azure DevOps рекомендует внести это изменение по следующей дате:
- 1 мая 2025 г. для Azure DevOps Services
- 15 мая 2025 г. для Azure DevOps Server
Дополнительные сведения см. в статье об изменении URL-адреса домена CDN для агентов в конвейерах.
Чтобы ваша организация могла работать в условиях существующих ограничений брандмауэра или IP, убедитесь, что dev.azure.com
и *dev.azure.com
открыты, и обновите ваш список разрешенных IP-адресов, включив в него следующие IP-адреса в зависимости от версии IP. Если вы в настоящее время разрешаете перечисление 13.107.6.183
и 13.107.9.183
IP-адреса, оставьте их на месте, так как их не нужно удалять.
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24
150.171.23.0/24
150.171.73.0/24
150.171.74.0/24
150.171.75.0/24
150.171.76.0/24
Примечание.
Дополнительные сведения о разрешённых адресах см. в Списки разрешённых адресов и сетевые подключения.
Как запустить агент с самозаверяющим сертификатом?
Примечание.
Запуск агента с самозаверенным сертификатом действителен только для Azure DevOps Server.
Запуск агента с самоподписанным сертификатом
Как запустить агент через веб-прокси?
Запустить агент через веб-прокси
Как перезапустить агент
Если агент запущен в интерактивном режиме, ознакомьтесь с инструкциями по перезапуску в интерактивном режиме. Если вы запускаете агент в качестве службы, перезапустите агент, выполнив действия, описанные в разделе "Запуск от имени службы".
Как задать разные переменные среды для каждого отдельного агента?
.env
Создайте файл в корневом каталоге агента и поместите переменные среды, которые нужно задать в файл в следующем формате, а затем перезапустите агент.
MyEnv0=MyEnvValue0
MyEnv1=MyEnvValue1
MyEnv2=MyEnvValue2
MyEnv3=MyEnvValue3
MyEnv4=MyEnvValue4
Как настроить агент для обхода веб-прокси и подключения к Azure Pipelines?
Если агент должен обойти прокси-сервер и подключиться к Azure Pipelines напрямую, необходимо настроить веб-прокси, чтобы агент мог получить доступ к следующим URL-адресам.
Для организаций, использующих домен *.visualstudio.com
:
https://login.microsoftonline.com
https://app.vssps.visualstudio.com
https://{organization_name}.visualstudio.com
https://{organization_name}.vsrm.visualstudio.com
https://{organization_name}.vstmr.visualstudio.com
https://{organization_name}.pkgs.visualstudio.com
https://{organization_name}.vssps.visualstudio.com
Для организаций, использующих домен dev.azure.com
:
https://dev.azure.com
https://*.dev.azure.com
https://login.microsoftonline.com
https://management.core.windows.net
https://vstsagentpackage.azureedge.net
https://download.agent.dev.azure.com
https://vssps.dev.azure.com
Чтобы ваша организация могла работать в условиях существующих ограничений брандмауэра или IP, убедитесь, что dev.azure.com
и *dev.azure.com
открыты, и обновите ваш список разрешенных IP-адресов, включив в него следующие IP-адреса в зависимости от версии IP. Если вы в настоящее время разрешаете перечисление 13.107.6.183
и 13.107.9.183
IP-адреса, оставьте их на месте, так как их не нужно удалять.
13.107.6.0/24
13.107.9.0/24
13.107.42.0/24
13.107.43.0/24
150.171.22.0/24
150.171.23.0/24
150.171.73.0/24
150.171.74.0/24
150.171.75.0/24
150.171.76.0/24
Примечание.
Эта процедура позволяет агенту обойти веб-прокси. Конвейер сборки и скрипты по-прежнему должны обрабатывать обход веб-прокси для каждой задачи и инструмента, выполняемого в сборке.
Например, если вы используете задачу NuGet, необходимо настроить веб-прокси для поддержки обхода URL-адреса сервера, на котором размещен канал NuGet, который вы используете.
Я использую TFS и URL-адреса в приведенных выше разделах не работают для меня. Где я могу получить помощь?
Настройки веб-сайта и безопасность
Я использую локальный TFS, и я не вижу некоторые из этих функций. Почему бы нет?
Некоторые из этих функций доступны только в Azure Pipelines и пока недоступны в локальной среде. Некоторые функции доступны локально, если вы обновлены до последней версииTFS.
Что такое активация параметра SERVICE_SID_TYPE_UNRESTRICTED для службы агента?
При настройке программного обеспечения агента на Windows Server можно указать идентификатор безопасности службы из следующего запроса.
Enter enable SERVICE_SID_TYPE_UNRESTRICTED for agent service (Y/N) (press enter for N)
Предыдущие версии программного обеспечения агента задают тип SERVICE_SID_TYPE_NONE
идентификатора безопасности службы, который является значением по умолчанию для текущих версий агента. Чтобы настроить тип SERVICE_SID_TYPE_UNRESTRICTED
идентификатора службы безопасности, нажмите клавишу Y
.
Для получения дополнительной информации см. структуру SERVICE_SID_INFO и идентификаторы безопасности.