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


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

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.

Чтобы создавать и развертывать приложения Xcode, вам потребуется по крайней мере один агент macOS. Этот агент также может создавать и развертывать приложения Java и Android.

Заметка

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

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

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

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

  • Поддерживаемые операционные системы
    • x64
      • macOS 10.15 "Catalina"
      • macOS 11.0 "Big Sur"
      • macOS 12.0 "Монтерей"
      • macOS 13.0 "Ventura"
      • macOS 14.0 "Сонома"
    • ARM64
      • macOS 11.0 "Big Sur"
      • macOS 12.0 "Монтерей"
      • macOS 13.0 "Ventura"
      • macOS 14.0 "Сонома"
  • Git — Git 2.9.0 или более поздней (рекомендуется последняя версия — вы можете легко установить с помощью Homebrew)
  • .NET — программное обеспечение агента выполняется в .NET 6, но устанавливает собственную версию .NET, поэтому не существует необходимых условий для .NET.
  • TFVC. Если вы собираете проект из репозитория TFVC, см. предварительные требования TFVC.

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

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

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

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

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

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

Агент 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. В диалоговом окне Получение агента щелкните macOS.

  5. Нажмите кнопку Скачать.

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

  7. Снимите расширенный атрибут в tar-файле: xattr -c vsts-agent-osx-x64-V.v.v.tar.gz.

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

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

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

Azure DevOps Server: https://{your_server}/tfs

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

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

Интерактивное выполнение

Рекомендации по запуску агента в интерактивном режиме или в качестве службы см. в разделе Agent: Interactive vs. Service.

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

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

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

    ./run.sh
    

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

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

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

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

./run.sh --once

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

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

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

Заметка

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

Маркеры

В следующем разделе эти маркеры заменяются:

  • {agent-name}

  • {tfs-name}

Например, вы настроили агент (как показано в предыдущем примере) с именем our-osx-agent. В следующих примерах {tfs-name} может быть:

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

  • TFS: имя локального сервера TFS AT. Например, при подключении к http://our-server:8080/tfsимя службы будет vsts.agent.our-server.our-osx-agent

Команды

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

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

cd ~/myagent$

Установить

Команда:

./svc.sh install

Эта команда создает launchd plist, указывающий на ./runsvc.sh. Этот скрипт настраивает среду (дополнительные сведения в следующем разделе) и запускает хост агента.

Начало

Команда:

./svc.sh start

Выпуск:

starting vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:

/Users/{your-name}/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist

Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}

Левый номер является идентификатором процесса (pid), если служба запущена. Если второй номер не равен нулю, возникла проблема.

Статус

Команда:

./svc.sh status

Выпуск:

status vsts.agent.{tfs-name}.{agent-name}:

/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist

Started:
13472 0 vsts.agent.{tfs-name}.{agent-name}

Число слева — это pid, если служба запущена. Если второй номер не равен нулю, возникла проблема.

Остановка

Команда:

./svc.sh stop

Выпуск:

stopping vsts.agent.{tfs-name}.{agent-name}
status vsts.agent.{tfs-name}.{agent-name}:

/Users/{your-name}/Library/LaunchAgents/vsts.{tfs-name}.{agent-name}.testsvc.plist

Stopped

Удалить

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

Команда:

./svc.sh uninstall

Автоматический вход и блокировка

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

Заметка

Дополнительные сведения см. в блоге Terminally Geeky: используйте автоматический вход более безопасно. PLIST-файл, упомянутый в этом блоге, больше недоступен в источнике, но его можно найти здесь: Lifehacker — настройте macOS так, чтобы рабочий стол загружался до входа в систему.

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

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

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

Моментальный снимок переменных среды хранится в файле .env в корневом каталоге агента, вы также можете изменить этот файл непосредственно для применения изменений переменной среды.

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

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

  1. Редактировать runsvc.sh.

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

    # insert anything to setup env when running as a service
    

Файлы службы

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

.plist-файл службы

Создаётся файл службы .plist:

~/Library/LaunchAgents/vsts.agent.{tfs-name}.{agent-name}.plist

Например:

~/Library/LaunchAgents/vsts.agent.fabrikam.our-osx-agent.plist

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

Файл .service

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

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

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

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

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

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

При настройке агента с тем же именем, что и существующий, вам будет предложено заменить его. Если вы отвечаете 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 со списком, разделённым запятыми переменных, которые следует игнорировать.

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

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

  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 Agent 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 теперь будет использовать локальные файлы при обновлении агентов. Каждый агент автоматически обновляется при выполнении задачи, требующей более новой версии агента. Но если вы хотите вручную обновить некоторые из агентов, щелкните правой кнопкой мыши группу агентов и выберите Обновить все агенты.

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

  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 Agent 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 теперь будет использовать локальные файлы при обновлении агентов. Каждый агент автоматически обновляется при выполнении задачи, требующей более новой версии агента. Но если вы хотите вручную обновить некоторых из агентов, щелкните правой кнопкой мыши на пуле и выберите Обновить все агенты.

Где можно узнать больше о том, как работает запущенная служба?

Библиотека разработчиков Apple: Создание демонов и агентов запуска

Я выполняю брандмауэр, и мой код находится в 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 Пакет агента

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

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

Настройки веб-сайта и безопасность

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

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

Предварительные требования 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.