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


Агенты Linux на собственном хостинге

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

В этой статье приведены рекомендации по использованию программного обеспечения агента 3.x с Azure DevOps Services и текущими версиями Azure DevOps Server. Список версий Azure DevOps Server, поддерживающих агент 3.x, см. в статье Поддерживает ли Azure DevOps Serverагент 3.x.

Для выполнения заданий вам потребуется по крайней мере один агент. Агент Linux может создавать и развертывать различные виды приложений, включая приложения Java и Android. Ознакомьтесь со сведениями о предварительных требованиях для списка поддерживаемых дистрибутивов Linux.

Примечание.

В этой статье описывается, как настроить агента, размещенного локально. Если вы используете Azure DevOps Services и агент, размещенный корпорацией Майкрософт , соответствует вашим потребностям, вы можете пропустить настройку локального агента Linux.

Сведения об агентах

Если вы уже знаете, какой агент и как он работает, вы можете перейти прямо к следующим разделам. Но если вы хотите получить дополнительные сведения о том, что они делают и как они работают, см. агенты Azure Pipelines.

Проверка предварительных условий

Агент разработан на основе .NET 6. Этот агент можно запустить в нескольких дистрибутивах Linux. Мы поддерживаем следующее подмножество поддерживаемых дистрибутивов .NET 6:

  • Поддерживаемые дистрибутивы
    • x64
      • Debian 10+
      • Fedora 36+
      • openSUSE 15+
      • Red Hat Enterprise Linux 7+
        • Больше не требуется отдельный пакет
      • SUSE Enterprise Linux 12 с пакетом обновления 2 (SP2) или более поздней версии
      • Ubuntu 22.04, 20.04, 18.04, 16.04
      • Azure Linux 2.0
      • Oracle Linux 7 и более поздних версий
    • ARM64
      • Debian 10+
      • Ubuntu 22.04, 20.04, 18.04
    • Алпайн x64
  • Git — независимо от платформы, необходимо установить Git 2.9.0 или более поздней версии. Настоятельно рекомендуется установить последнюю версию Git.
  • .NET — программное обеспечение агента выполняется в .NET 6, но устанавливает собственную версию .NET, поэтому не существует необходимых условий для .NET.
  • Subversion — если вы создаете из репозитория Subversion, необходимо установить клиент Subversion на компьютере.
  • TFVC. Если вы собираете проект из репозитория TFVC, см. предварительные требования TFVC.

Примечание.

Установщик агента знает, как проверить наличие других зависимостей. Эти зависимости можно установить на поддерживаемых платформах Linux, выполнив команду ./bin/installdependencies.sh в каталоге программы агента.

Помните, что некоторые из этих зависимостей, необходимых .NET, извлекаются из сторонних сайтов, например packages.efficios.com. Просмотрите скрипт и убедитесь, installdependencies.sh что все ссылки на сторонние сайты доступны на компьютере Linux перед запуском скрипта.

Также убедитесь, что все необходимые репозитории подключены к соответствующему диспетчеру пакетов, используемому в installdependencies.sh, например apt или zypper.

Для проблем с установкой зависимостей (например, "зависимость не найдена в репозитории" или "проблема с получением файла индекса репозитория") можно обратиться к владельцу дистрибутива для дальнейшей поддержки.

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

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

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

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

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

Агент 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. Выберите пулы агентов.

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

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

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

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

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

Примечание.

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

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

Azure Pipelines (система конвейеров Azure)

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

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

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

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

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

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

      Выберите вкладку

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

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

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

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

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

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

  4. В диалоговом окне "Получить агент" щелкните Linux.

  5. На левой панели выберите конкретный вкус. Мы предлагаем x64 или ARM для многих дистрибутивов Linux.

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

  7. Следуйте инструкциям на странице.

  8. Распакуйте агента в каталог по вашему выбору. cd в эту директорию и запустите ./config.sh.

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

Azure Pipelines: https://dev.azure.com/{your-organization}

Тип аутентификации

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

Запустить в интерактивном режиме

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

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

  1. Если вы запускали агент как службу, удалите службу.

  2. Запустите агент.

    ./run.sh
    

Чтобы перезапустить агент, нажмите клавиши CTRL+C, а затем запустите run.sh, чтобы перезапустить его.

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

Выполнить один раз

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

./run.sh --once

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

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

Если агент работает в этих операционных системах, можно запустить агент как systemd службу:

  • Ubuntu 16 LTS или более поздней версии
  • Red Hat 7.1 или более поздней версии

Мы предоставляем пример ./svc.sh скрипта для запуска агента и управления им в качестве systemd службы. Этот скрипт будет создан после настройки агента. Мы рекомендуем вам просмотреть и при необходимости обновить скрипт перед его запуском.

Некоторые важные предостережения:

  • Если вы запускаете агент как службу, вы не можете запустить службу агента от имени пользователя root.
  • Пользователи, работающие под управлением SELinux , сообщили о трудностях с предоставленным svc.sh скриптом. Обратитесь к данной проблеме агента в качестве отправной точки. SELinux не является официально поддерживаемой конфигурацией.

Примечание.

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

Команды

Изменение каталога агента

Например, если вы установили в папке myagent в домашнем каталоге:

cd ~/myagent$

Установка

Команда:

sudo ./svc.sh install [username]

Эта команда создает файл службы, указывающий на ./runsvc.sh. Этот скрипт настраивает среду (дополнительные сведения ниже) и запускает хост агентов. Если username параметр не указан, имя пользователя берется из переменной среды $SUDO_USER, заданной командой sudo. Эта переменная всегда равна имени пользователя, вызвавшего sudo команду.

Запуск

sudo ./svc.sh start

Состояние

sudo ./svc.sh status

Остановка

sudo ./svc.sh stop

Деинсталляция

Прекратите, прежде чем удалите.

sudo ./svc.sh uninstall

Обновление переменных среды

При настройке службы делается моментальный снимок некоторых полезных переменных среды для текущего пользователя, выполняющего вход, например PATH, LANG, JAVA_HOME, ANT_HOME и MYSQL_PATH. Если необходимо обновить переменные (например, после установки нового программного обеспечения):

./env.sh
sudo ./svc.sh stop
sudo ./svc.sh start

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

Выполнение инструкций перед запуском службы

Вы также можете запускать собственные инструкции и команды, которые будут выполняться при запуске службы. Например, можно настроить среду или вызвать скрипты.

  1. Измените runsvc.sh.

  2. Замените следующую строку инструкциями:

    # insert anything to setup env when running as a service
    

Сервисные файлы

При установке службы некоторые файлы служб размещаются на свои места.

Файл службы systemd

Создается файл службы systemd:

/etc/systemd/system/vsts.agent.{tfs-name}.{agent-name}.service

Например, вы настроили агент (см. выше) с именем our-linux-agent. Файл службы будет либо:

  • Azure Pipelines: имя вашей организации. Например, при подключении к https://dev.azure.com/fabrikamимя службы будет /etc/systemd/system/vsts.agent.fabrikam.our-linux-agent.service

  • TFS или Azure DevOps Server: имя локального сервера. Например, при подключении к http://our-server:8080/tfsимя службы будет /etc/systemd/system/vsts.agent.our-server.our-linux-agent.service

sudo ./svc.sh install создает этот файл из этого шаблона: ./bin/vsts.agent.service.template

Файл .service

sudo ./svc.sh start находит службу, считывая .service файл, содержащий имя системного файла службы, описанного выше.

Альтернативные механизмы обслуживания

Мы предоставляем ./svc.sh скрипт в качестве удобного способа запуска агента и управления им в качестве системной службы. Но вы можете использовать любой тип предпочитаемого механизма обслуживания (например, initd или upstart).

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

Используйте cgroup для предотвращения сбоя агента

Важно избегать ситуаций, в которых агент выходит из строя или становится непригодным для использования, так как в противном случае агент не может передавать журналы конвейера или сообщать о состоянии конвейера обратно на сервер. Вы можете снизить риск возникновения этой проблемы, вызванной высоким давлением памяти, с помощью cgroups и более низкой oom_score_adj. После этого Linux сначала освобождает системную память из процессов выполнения заданий конвейера, а затем освобождает память из процесса агента. Узнайте, как настроить cgroups и параметр OOM score.

Замена агента

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

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

Удаление и перенастройка агента

Чтобы удалить агент, выполните следующие действия.

  1. Остановите и удалите службу, как описано в предыдущем разделе.

  2. Удалите агент.

    ./config.sh remove
    
  3. Введите свои учетные данные.

После удаления агента его можно настроить еще раз.

Настройка без присмотра

Агент можно настроить из скрипта без вмешательства человека. Необходимо передать --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 (токен личного доступа) — это единственная схема, которая работает с Azure DevOps Services.
    • alt (обычная проверка подлинности)

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

  • Если вы выбрали --auth pat:
    • --token <token> — указывает личный маркер доступа
    • PAT — это единственная схема, которая работает с Azure DevOps Services.
  • Если вы выбрали --auth negotiate или --auth alt:
    • --userName <userName> — указывает имя пользователя
    • --password <password> — указывает пароль

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

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

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

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

Только группа развертывания

  • --deploymentGroup — настройте агента как агента группы развертывания
  • --deploymentGroupName <name> — используется вместе с --deploymentGroup для указания группы развертывания, в которую должен вступить агент
  • --projectName <name> — используется с --deploymentGroup для установки имени проекта
  • --addDeploymentGroupTags — используется вместе с --deploymentGroup для указания на то, что теги группы развертывания должны быть добавлены
  • --deploymentGroupTags <tags> — используется вместе с --addDeploymentGroupTags для указания списка тегов, разделенных запятыми, для агента группы развертывания, например "web, db".

Только окружения

  • --addvirtualmachineresourcetags — используется для указания того, что теги ресурсов среды должны быть добавлены
  • --virtualmachineresourcetags <tags> — используется совместно с --addvirtualmachineresourcetags для указания списка тегов агента ресурсов окружения, разделенного запятыми, например "web, db".

./config.sh --help всегда перечисляет последние необходимые и необязательные ответы.

Диагностика

Если у вас возникли проблемы с самостоятельно размещённым агентом, попробуйте запустить диагностику. После настройки агента:

./run.sh --diagnostics

Это приведет к выполнению набора диагностики, который может помочь устранить проблему. Функция диагностики доступна начиная с агента версии 2.165.0.

Диагностика сети для локальных агентов

Установите значение Agent.Diagnostic на true, чтобы собирать дополнительные журналы, которые можно использовать для устранения неполадок сети для локально размещённых агентов. Дополнительные сведения см. в разделе Диагностика сети для локально размещенных агентов.

Справка по другим опциям

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

./config.sh --help

Эта справка содержит сведения об альтернативных методах аутентификации и настройке без вмешательства пользователя.

Возможности

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

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

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

Это важно

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

Если вы хотите исключить переменные среды из возможностей, вы можете назначить их, задав переменную среды VSO_AGENT_IGNORE со списком, разделённым запятыми переменных, которые следует игнорировать.

Вопросы и ответы

Где можно узнать больше о новом программном обеспечении агента версии 3?

Сведения и часто задаваемые вопросы о программном обеспечении агента версии 3 см. в разделе " Программное обеспечение агента" версии 3.

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

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

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

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

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

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

      Выберите вкладку

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Виндовс: %ProgramData%\Microsoft\Azure DevOps\Agents
  • Линукс: usr/share/Microsoft/Azure DevOps/Agents
  • macOS: usr/share/Microsoft/Azure DevOps/Agents

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

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

Почему требуется sudo для выполнения команд службы?

./svc.sh использует systemctl, который требует sudo.

Исходный код: systemd.svc.sh.template на GitHub

Я использую брандмауэр, и мой код находится в 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://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. Если вы в настоящее время включили в список разрешенных IP-адреса 13.107.6.183 и 13.107.9.183, оставьте их как есть, так как их не нужно удалять.


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 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://download.agent.dev.azure.com
https://vssps.dev.azure.com

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


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-адреса в приведенных выше разделах не работают для меня. Где я могу получить помощь?

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

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

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

Предварительные требования TFVC

Если вы будете использовать TFVC, вам также потребуется Oracle Java JDK 1.6 или более поздней версии. (Для этой цели не хватает Oracle JRE и OpenJDK.)

модуль TEE используется для функциональности TFVC. Он имеет EULA, который необходимо принять во время настройки, если вы планируете работать с TFVC.

Так как подключаемый модуль TEE больше не поддерживается и содержит некоторые устаревшие зависимости Java, начиная с агента 2.198.0, он больше не включен в дистрибутив агента. Однако подключаемый модуль TEE будет скачан во время выполнения задачи извлечения, если вы выполняете извлечение репозитория TFVC. Подключаемый модуль TEE будет удален после завершения работы.

Примечание.

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

Если агент работает за прокси-сервером или брандмауэром, необходимо обеспечить доступ к следующему сайту: https://vstsagenttools.blob.core.windows.net/ Плагин TEE будет загружен с этого адреса.

Если вы используете локальный агент и сталкиваетесь с проблемами с скачиванием TEE, вы можете установить TEE вручную:

  1. Установите для среды DISABLE_TEE_PLUGIN_REMOVAL или переменной конвейера значение true. Эта переменная предотвращает удаление агентом подключаемого модуля TEE после извлечения репозитория TFVC.
  2. Скачайте TEE-CLC версию 14.135.0 вручную из релизов Team Explorer Everywhere на GitHub.
  3. Извлеките содержимое папки TEE-CLC-14.135.0 в <agent_directory>/externals/tee.