Поделиться через


Локальные агенты Windows

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 с пакетом обновления 1 (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 создает код размещенных агентов с помощью конвейеров, использующих размещенные агенты. С другой стороны, основная часть кода Azure DevOps создается на 24-ядрах компьютеров класса сервера под управлением четырех локальных агентов за штуку.

Подготовка разрешений

Информационная безопасность для локальных агентов

Пользователь, настроив агент, нуждается в разрешениях администратора пула, но пользователь, выполняющий агент, не имеет.

Папки, контролируемые агентом, должны быть ограничены как можно меньше пользователей, так как они содержат секреты, которые могут быть расшифрованы или эксфильтрованы.

Агент Azure Pipelines — это программный продукт, предназначенный для выполнения кода, скачиваемого из внешних источников. По сути это может быть мишенью для атак удаленного выполнения кода (RCE).

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

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

Имеет смысл предоставить доступ к папке агента только для администраторов DevOps и удостоверения пользователя, выполняющего процесс агента. Администраторам может потребоваться исследовать файловую систему, чтобы понять ошибки сборки или получить файлы журналов, чтобы сообщить о сбоях Azure DevOps.

Определите, какой пользователь вы будете использовать

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

Убедитесь, что у пользователя есть разрешение

Убедитесь, что учетная запись пользователя, которую вы собираетесь использовать, имеет разрешение на регистрацию агента.

Является ли пользователь администратором Azure DevOps владелец организации или TFS или Azure DevOps Server? Остановитесь здесь, у вас есть разрешение.

В противном случае:

  1. Откройте браузер и перейдите на вкладку пулов агентов для организации Azure Pipelines или сервера Azure DevOps Server или TFS:

    1. Войдите в свою организацию (https://dev.azure.com/{yourorganization}).

    2. Выберите Azure DevOps, параметры организации.

      Выберите параметры организации.

    3. Выберите пулы агентов.

      Перейдите на вкладку

    1. Войдите в коллекцию проектов (http://your-server/DefaultCollection).

    2. Выберите Azure DevOps, параметры коллекции.

      Выберите параметры коллекции.

    3. Выберите пулы агентов.

      Выберите пулы агентов.

    1. Выберите Azure DevOps, параметры коллекции.

      Параметры коллекции, 2019.

    2. Выберите пулы агентов.

      Выберите пулы агентов, 2019.

  2. Выберите пул справа от страницы и нажмите кнопку "Безопасность".

  3. Если учетная запись пользователя, которую вы собираетесь использовать, не отображается, получите администратора, чтобы добавить его. Администратор может быть администратором пула агентов, владелец организации Azure DevOps или администратором TFS или Azure DevOps Server.

    Если это агент группы развертывания, администратор может быть администратором группы развертывания, владелец организации Azure DevOps или администратором TFS или Azure DevOps Server.

    Вы можете добавить пользователя в роль администратора группы развертывания на вкладке "Безопасность " на странице "Группы развертывания" в Azure Pipelines.

Примечание.

Если вы видите следующее сообщение: К сожалению, не удалось добавить удостоверение. Попробуйте другое удостоверение.Возможно, вы выполнили описанные выше действия для администратора владелец организации или TFS или Azure DevOps Server. Вам ничего не нужно делать; У вас уже есть разрешение на администрирование пула агентов.

Скачивание и настройка агента

Azure Pipelines

  1. Войдите на компьютер с помощью учетной записи, для которой вы подготовили разрешения, как описано выше.

  2. В веб-браузере войдите в Azure Pipelines и перейдите на вкладку пулов агентов :

    1. Войдите в свою организацию (https://dev.azure.com/{yourorganization}).

    2. Выберите Azure DevOps, параметры организации.

      Выберите параметры организации.

    3. Выберите пулы агентов.

      Перейдите на вкладку

    1. Войдите в коллекцию проектов (http://your-server/DefaultCollection).

    2. Выберите Azure DevOps, параметры коллекции.

      Выберите параметры коллекции.

    3. Выберите пулы агентов.

      Выберите пулы агентов.

    1. Выберите Azure DevOps, параметры коллекции.

      Параметры коллекции, 2019.

    2. Выберите пулы агентов.

      Выберите пулы агентов, 2019.

  3. Выберите пул по умолчанию, перейдите на вкладку "Агенты" и выберите "Создать агент".

  4. В диалоговом окне "Получение агента" выберите Windows.

  5. На левой панели выберите архитектуру процессора установленной версии ОС Windows на компьютере. Версия агента x64 предназначена для 64-разрядной версии Windows, а версия x86 предназначена для 32-разрядных Windows. Если вы не уверены, какая версия Windows установлена, следуйте приведенным ниже инструкциям.

  6. На правой панели нажмите кнопку "Скачать ".

  7. Следуйте инструкциям на странице, чтобы скачать агент.

  8. Распакуйте агент в выбранный каталог. Убедитесь, что путь к каталогу не содержит пробелов, так как средства и скрипты не всегда правильно экранные пространства. Рекомендуется C:\agentsиспользовать папку. Извлечение из папки загрузки или других пользовательских папок может привести к проблемам с разрешениями.

Внимание

Настоятельно рекомендуется настроить агент из окна PowerShell с повышенными привилегиями. Если вы хотите настроить как службу, это необходимо.

Для настройки агента не следует использовать isE Windows PowerShell.

Внимание

По соображениям безопасности настоятельно рекомендуется убедиться, что папка агентов (C:\agents) редактируется только администраторами.

Примечание.

Не используйте оболочки на основе мяты, например git-bash, для настройки агента. Mintty не полностью совместим с собственным API Ввода и вывода Windows (вот некоторые сведения об этом) и мы не можем гарантировать, что сценарий установки будет работать правильно в этом случае.

Установка агента

  1. Запустите окно с повышенными привилегиями (PowerShell) и задайте расположение для распаковки агента.

    cd C:\agents 
    
    
  2. Запустите config.cmd. В результате вы получите ряд вопросов для настройки агента.

    .\config.cmd
    
    

URL-адрес сервера

Когда программа установки запрашивает URL-адрес сервера для Azure DevOps Services, ответьте https://dev.azure.com/{your-organization}.

Когда программа установки запрашивает URL-адрес сервера, ответьте https://{my-server}/{my-collection}на запрос для Azure DevOps Server.

Тип проверки подлинности установки агента

При регистрации агента выберите один из следующих типов проверки подлинности, а программа установки предложит указать конкретные дополнительные сведения, необходимые для каждого типа проверки подлинности. Дополнительные сведения см. в разделе "Параметры проверки подлинности локального агента".

  • Личный маркер доступа
  • Альтернативное подключение к серверу Azure DevOps server или TFS с помощью базовой проверки подлинности. При выборе альтернативного параметра вам будет предложено указать свои учетные данные.

Агенты Windows имеют следующие два дополнительных варианта проверки подлинности в Azure DevOps Server и TFS.

  • Согласование подключения к TFS в качестве пользователя, отличного от входа пользователя, через схему проверка подлинности Windows, например NTLM или Kerberos. После выбора "Переговоры" вам будет предложено указать учетные данные.
  • Встроенная (по умолчанию) подключение агента Windows к TFS с помощью учетных данных пользователя, вошедшего в систему, через схему проверка подлинности Windows, например NTLM или Kerberos. После выбора этого метода вам не будет предложено указать учетные данные.

Внимание

Сервер должен быть настроен для поддержки метода проверки подлинности для использования альтернативной, переговорной или интегрированной проверки подлинности.

Метод проверки подлинности, используемый для регистрации агента, используется только во время регистрации агента. Дополнительные сведения о том, как агенты взаимодействуют с Azure Pipelines после регистрации, см. в статье "Связь с Azure Pipelines" или TFS.

Выбор интерактивного или служебного режима

Рекомендации по запуску агента в интерактивном режиме или в качестве службы см. в разделе "Агенты: интерактивная служба и служба".

Если вы решили запустить службу как службу (которую мы рекомендуем), имя пользователя, которое вы выполняете, должно быть 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).

Запуск от имени службы

Если агент настроен для запуска в качестве службы, он запускается автоматически. Вы можете просматривать и управлять состоянием запуска агента из оснастки служб. Запустите services.msc и найдите один из следующих вариантов:

  • "Агент Azure Pipelines (имя агента)"
  • "Агент VSTS (имя агента)"
  • "vstsagent. (имя организации). (имя агента)"

Примечание.

Чтобы обеспечить большую гибкость при управлении доступом агента, работающего в качестве службы, можно настроить тип безопасности службы агента как [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 (субъект-служба) (Требуется агент версии 3.227.1 или более поздней версии)
    • negotiate (Kerberos или NTLM)
    • alt (Обычная проверка подлинности)
    • integrated (Учетные данные Windows по умолчанию)

Варианты проверки подлинности

  • Если вы выбрали --auth pat:
    • --token <token> — указывает личный маркер доступа
    • Вы также можете передать маркер OAuth 2.0 в качестве --token параметра.
  • Если вы выбрали или--auth alt:--auth negotiate
    • --userName <userName> — указывает имя пользователя Windows в формате domain\userName или userName@domain.com
    • --password <password> — указывает пароль
  • Если вы выбрали --auth SP:
    • --clientID <clientID> — указывает идентификатор клиента субъекта-службы с доступом к агентам регистрации
    • --tenantId <tenantID> — указывает идентификатор клиента, в котором зарегистрирован субъект-служба.
    • --clientSecret <clientSecret> — указывает секрет клиента субъекта-службы
    • Дополнительные сведения см. в разделе "Регистрация агента с помощью субъекта-службы "

Имена пулов и агентов

  • --pool <pool> — имя пула для соединения агента
  • --agent <agent> — имя агента
  • --replace — замените агент в пуле. Если другой агент прослушивает то же имя, он начнет сбой с конфликтом

Настройка агента

  • --work <workDirectory> — рабочий каталог, в котором хранятся данные задания. По умолчанию используется _work корневой каталог агента. Рабочий каталог принадлежит заданному агенту и не должен быть предоставлен общий доступ между несколькими агентами.
  • --acceptTeeEula — примите лицензионное соглашение Team Explorer по всему миру (только macOS и Linux)
  • --disableloguploads — не перенаправляйте или не отправляете выходные данные журнала консоли на сервер. Вместо этого вы можете получить их из файловой системы узла агента после завершения задания.

Запуск только для Windows

  • --runAsService — настройка агента для запуска в качестве службы Windows (требуется разрешение администратора)
  • --runAsAutoLogon — настройте автоматический вход и запустите агент при запуске (требуется разрешение администратора)
  • --windowsLogonAccount <account> — используется или используется для --runAsService --runAsAutoLogon указания имени пользователя Windows в формате domain\userName или userName@domain.com
  • --windowsLogonPassword <password> — используется с --runAsService паролем входа в Систему Windows ( --runAsAutoLogon не требуется для групповых управляемых учетных записей служб и Windows, встроенных учетных записей, таких как NT AUTHORITY\NETWORK SERVICE)
  • --enableservicesidtypeunrestricted — используется для --runAsService настройки агента с типом 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, установленную на компьютере агента в пути.

Чтобы просмотреть версию Git, используемую checkout конвейером, можно просмотреть журналы для шага в конвейере, как показано в следующем примере.

Syncing repository: PathFilter (Git)
Prepending Path environment variable with directory containing 'git.exe'.
git version
git version 2.26.2.windows.1

Разделы справки убедитесь, что у меня установлена последняя версия агента?

  1. Перейдите на вкладку пулов агентов :

    1. Войдите в свою организацию (https://dev.azure.com/{yourorganization}).

    2. Выберите Azure DevOps, параметры организации.

      Выберите параметры организации.

    3. Выберите пулы агентов.

      Перейдите на вкладку

    1. Войдите в коллекцию проектов (http://your-server/DefaultCollection).

    2. Выберите Azure DevOps, параметры коллекции.

      Выберите параметры коллекции.

    3. Выберите пулы агентов.

      Выберите пулы агентов.

    1. Выберите Azure DevOps, параметры коллекции.

      Параметры коллекции, 2019.

    2. Выберите пулы агентов.

      Выберите пулы агентов, 2019.

  2. Щелкните пул, содержащий агент.

  3. Убедитесь, что агент включен.

  4. Перейдите на вкладку возможностей:

    1. На вкладке пулов агентов выберите нужный пул агентов .

      В пулах агентов выберите нужный пул агентов.

    2. Выберите агенты и выберите нужный агент.

      Выберите агенты и выберите агент.

    3. Перейдите на вкладку " Возможности".

      Перейдите на вкладку

      Примечание.

      Размещенные корпорацией Майкрософт агенты не отображают системные возможности. Список программного обеспечения, установленного в агентах, размещенных корпорацией Майкрософт, см. в разделе "Использование размещенного майкрософт агента".

    1. На вкладке пулов агентов выберите нужный пул.

      Выберите нужный пул.

    2. Выберите агенты и выберите нужный агент.

      Выберите агенты и выберите нужный агент.

    3. Перейдите на вкладку " Возможности".

      Вкладка возможностей агента.

    1. На вкладке пулов агентов выберите нужный пул.

      Выберите нужную вкладку 2019.

    2. Выберите агенты и выберите нужный агент.

      Выберите нужный агент, 2019.

    3. Перейдите на вкладку " Возможности".

      Перейдите на вкладку

  5. Agent.Version Найдите возможность. Это значение можно проверить на наличие последней опубликованной версии агента. Ознакомьтесь с агентом Azure Pipelines и проверьте страницу с наибольшим номером версии, указанным в списке.

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

Можно ли обновить агенты, которые являются частью пула серверов Azure DevOps?

Да. Начиная с Azure DevOps Server 2019, можно настроить сервер для поиска файлов пакета агента на локальном диске. Эта конфигурация переопределит версию по умолчанию, которая была связана с сервером во время выпуска. Этот сценарий также применяется, если сервер не имеет доступа к Интернету.

  1. С компьютера с доступом к Интернету скачайте последнюю версию файлов пакета агента (в .zip или .tar.gz форме) на странице выпусков агента Azure Pipelines GitHub.

  2. Передайте скачанные файлы пакетов на каждый уровень приложений Azure DevOps Server с помощью выбранного метода (например, USB-накопителя, передачи сети и т. д.). Поместите файлы агента в следующую папку:

  • Windows: %ProgramData%\Microsoft\Azure DevOps\Agents
  • Linux: usr/share/Microsoft/Azure DevOps/Agents
  • macOS: usr/share/Microsoft/Azure DevOps/Agents

Создайте папку "Агенты", если она отсутствует.

  1. Все готово! Сервер Azure DevOps теперь будет использовать локальные файлы при обновлении агентов. Каждый агент автоматически обновляется при выполнении задачи, требующей более новой версии агента. Но если вы хотите вручную обновить некоторые агенты, щелкните пул правой кнопкой мыши и выберите "Обновить все агенты".

Я использую брандмауэр, и мой код находится в Azure Repos. С какими URL-адресами агенту нужно взаимодействовать?

Если агент запущен в защищенной сети за брандмауэром, убедитесь, что агент может инициировать связь со следующими URL-адресами и IP-адресами.

URL-адрес домена Description
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 Artifacts
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 Пакет агента

Чтобы убедиться, что ваша организация работает с существующими ограничениями брандмауэра или IP-адресов, убедитесь, что dev.azure.com они открыты и *dev.azure.com обновляют разрешенные IP-адреса, чтобы включить следующие IP-адреса на основе вашей IP-версии. Если вы в настоящее время разрешаете перечисление 13.107.6.183 IP-адресов, 13.107.9.183 оставьте их на месте, так как их не нужно удалять.

Диапазоны IPv4

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

Диапазоны IPv6

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Примечание.

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

Разделы справки запустить агент с самозаверяющий сертификат?

Примечание.

Запуск агента с самозаверяющий сертификат применяется только к 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://vssps.dev.azure.com

Чтобы убедиться, что ваша организация работает с существующими ограничениями брандмауэра или IP-адресов, убедитесь, что dev.azure.com они открыты и *dev.azure.com обновляют разрешенные IP-адреса, чтобы включить следующие IP-адреса на основе вашей IP-версии. Если вы в настоящее время разрешаете перечисление 13.107.6.183 IP-адресов, 13.107.9.183 оставьте их на месте, так как их не нужно удалять.

Диапазоны IPv4

  • 13.107.6.0/24
  • 13.107.9.0/24
  • 13.107.42.0/24
  • 13.107.43.0/24

Диапазоны IPv6

  • 2620:1ec:4::/48
  • 2620:1ec:a92::/48
  • 2620:1ec:21::/48
  • 2620:1ec:22::/48

Примечание.

Эта процедура позволяет агенту обойти веб-прокси. Конвейер сборки и скрипты по-прежнему должны обрабатывать обход веб-прокси для каждой задачи и инструмента, выполняемого в сборке.

Например, если вы используете задачу NuGet, необходимо настроить веб-прокси для поддержки обхода URL-адреса сервера, на котором размещен канал NuGet, который вы используете.

Я использую TFS и URL-адреса в приведенных выше разделах не работают для меня. Куда обратиться за помощью?

Параметры и безопасность веб-сайта

Я использую Team Foundation Server локально и не вижу некоторые из этих функций. Почему?

Некоторые из этих функций доступны только в Azure Pipelines и пока недоступны в локальной среде. Некоторые функции доступны в локальной среде, если вы выполнили обновление до последней версии Team Foundation Server.

Что такое включение 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 структуры и идентификаторов безопасности.