Локальные агенты macOS
Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
В этой статье приведены рекомендации по использованию программного обеспечения агента
Чтобы создавать и развертывать приложения 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 "Сонома"
- x64
- 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? Остановитесь здесь, у вас есть разрешение.
Иначе:
Откройте браузер и перейдите на вкладку пулов агентов для организации Azure Pipelines или сервера Azure DevOps Server или TFS:
Войдите в организацию (
https://dev.azure.com/{yourorganization}
).Выберите Azure DevOps, параметры организации.
Выберите пулы агентов .
вкладка "Выбор пулов агентов"
Войдите в коллекцию проектов (
http://your-server/DefaultCollection
).Выберите Azure DevOps, параметры коллекции.
Выберите пулы агентов .
Выберите Azure DevOps,, Параметры коллекции.
Выберите пулы агентов .
Выберите пул справа от страницы и щелкните "Безопасность".
Если учетная запись пользователя, которую вы собираетесь использовать, не отображается, обратитесь к администратору, чтобы добавить её. Администратор может быть администратором пула агентов, владельцем организации Azure DevOpsили TFS или администратором Azure DevOps Server.
Если это агент группы развертывания
, администратор может быть администратором группы развертывания, владельцем организации Azure DevOps илиTFS или администратором Azure DevOps Server .Вы можете добавить пользователя в роль администратора группы развертывания на вкладке Безопасность на странице Группы развертывания в Azure Pipelines.
Заметка
Если вы видите следующее сообщение: К сожалению, не удалось добавить удостоверение. Попробуйте другое удостоверение., вы, вероятно, выполнили описанные выше действия для владельца организации или администратора TFS или Azure DevOps Server. Вам ничего не нужно делать; У вас уже есть разрешение на администрирование пула агентов.
Скачивание и настройка агента
Azure Pipelines
Войдите на компьютер с помощью учетной записи, для которой вы подготовили разрешения, как описано в предыдущем разделе.
В веб-браузере войдите в Azure Pipelines и перейдите на вкладку пулов агентов :
Войдите в организацию (
https://dev.azure.com/{yourorganization}
).Выберите Azure DevOps, параметры организации.
Выберите пулы агентов .
вкладка "Выбор пулов агентов"
Войдите в коллекцию проектов (
http://your-server/DefaultCollection
).Выберите Azure DevOps
, параметры коллекции ,.Выберите пулы агентов .
Выберите Azure DevOps, параметры коллекции.
Выберите пулы агентов .
Выберите пул по умолчанию, перейдите на вкладку Агенты и выберите Новый агент.
В диалоговом окне Получение агента щелкните macOS.
Нажмите кнопку Скачать.
Следуйте инструкциям на странице.
Снимите расширенный атрибут в tar-файле:
xattr -c vsts-agent-osx-x64-V.v.v.tar.gz
.Распакуйте агент в выбранный каталог.
cd
в эту директорию и запустите./config.sh
. Убедитесь, что путь к каталогу не содержит пробелов, так как средства и скрипты не всегда правильно обрабатывают пробелы.
URL-адрес сервера
Azure Pipelines: https://dev.azure.com/{your-organization}
Azure DevOps Server: https://{your_server}/tfs
Тип проверки подлинности
При регистрации агента выберите один из следующих типов проверки подлинности, а программа установки агента запрашивает дополнительные сведения, необходимые для каждого типа проверки подлинности. Дополнительные сведения см. в разделе параметры проверки подлинности локального агента.
- личный маркер доступа
- Альтернативный метод Подключиться к серверу Azure DevOps или TFS с помощью базовой проверки подлинности. При выборе альтернативного вам потребуется ввести учетные данные.
Интерактивное выполнение
Рекомендации по запуску агента в интерактивном режиме или в качестве службы см. в разделе Agent: Interactive vs. Service.
Чтобы запустить агент в интерактивном режиме, выполните следующие действия.
Если вы запускали агент как службу, удалите службу.
Запустите агент.
./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
в корневом каталоге агента, вы также можете изменить этот файл непосредственно для применения изменений переменной среды.
Выполнение инструкций перед запуском службы
Вы также можете выполнять собственные инструкции и команды для запуска службы. Например, можно настроить среду или вызвать скрипты.
Редактировать
runsvc.sh
.Замените следующую строку инструкциями:
# 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
, убедитесь, что удаляете агента (см. ниже), которого заменяете. В противном случае после нескольких минут конфликтов один из агентов завершит работу.
Удаление и перенастройка агента
Чтобы удалить агент, выполните следующие действия.
Остановите и удалите службу, как описано в предыдущем разделе.
Удалите агент.
./config.sh 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
(токен личного доступа) — это единственная схема, которая работает с 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
со списком, разделённым запятыми переменных, которые следует игнорировать.
Вопросы и ответы
Как убедиться, что у меня установлена последняя версия агента?
Перейдите на вкладку пулов агентов
: Войдите в организацию (
https://dev.azure.com/{yourorganization}
).Выберите Azure DevOps, Параметры организации.
Выберите пулы агентов .
вкладка "Выбор пулов агентов"
Войдите в коллекцию проектов (
http://your-server/DefaultCollection
).Выберите Azure DevOps, параметры коллекции.
Выберите пулы агентов .
Выберите Azure DevOps, параметры коллекции .
Выберите пулы агентов .
Щелкните пул, содержащий агент.
Убедитесь, что агент включен.
Перейдите на вкладку возможностей:
На вкладке "Пулы агентов" выберите нужный пул агентов.
Выберите агентов и выберите нужного агента.
Выберите вкладку Возможности.
Заметка
Размещенные корпорацией Майкрософт агенты не отображают системные возможности. Список программного обеспечения, установленного в агентах, размещенных корпорацией Майкрософт, см. в статье Использование размещенного корпорацией Майкрософт агента.
На вкладке пулы агентов выберите нужный пул.
Выберите агент и выберите нужного агента.
Перейдите на вкладку Возможности.
вкладка "Возможности агента
На вкладке пулы агентов выберите нужный пул.
Выберите агента и выберите нужного агента.
Перейдите на вкладку возможностей.
Найдите функцию
Agent.Version
. Это значение можно проверить на наличие последней опубликованной версии агента. Ознакомьтесь с агента Azure Pipelines и проверьте страницу с наибольшим номером версии, указанным в списке.Каждый агент автоматически обновляется при выполнении задачи, требующей более новой версии агента. Если вы хотите вручную обновить некоторых агентов, щелкните пул и выберите Обновить всех агентов.
Можно ли обновить агентов, входящих в пул серверов Azure DevOps?
Да. Начиная с Azure DevOps Server 2019, можно настроить сервер для поиска файлов пакета агента на локальном диске. Эта конфигурация переопределит версию по умолчанию, которая поставлялась с сервером во время выпуска. Этот сценарий также применяется, если сервер не имеет доступа к Интернету.
С компьютера с доступом к Интернету скачайте последнюю версию файлов пакета агента (в .zip или .tar.gz форме) на странице выпусков агента Azure Pipelines Agent GitHub.
Передайте скачанные файлы пакетов на каждый уровень приложений Azure DevOps Server с помощью выбранного метода (например, USB-накопителя, передачи сети и т. д.). Поместите файлы агента в следующую папку:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Linux:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
Создайте папку агентов , если она отсутствует.
- Все готово! Сервер Azure DevOps теперь будет использовать локальные файлы при обновлении агентов. Каждый агент автоматически обновляется при выполнении задачи, требующей более новой версии агента. Но если вы хотите вручную обновить некоторые из агентов, щелкните правой кнопкой мыши группу агентов и выберите Обновить все агенты.
Как убедиться, что у меня установлена последняя версия агента?
Перейдите на вкладку пулов агентов
: Войдите в организацию (
https://dev.azure.com/{yourorganization}
).Выберите Azure DevOps, Настройки организации.
Выберите пулы агентов .
вкладка "Выбор пулов агентов"
Войдите в коллекцию проектов (
http://your-server/DefaultCollection
).Выберите Azure DevOps, параметры коллекции.
Выберите агентные пулы .
Выберите Azure DevOps
, параметры коллекции .Выберите агентские пулы .
Щелкните пул, содержащий агент.
Убедитесь, что агент включен.
Перейдите на вкладку возможностей:
На вкладке пулов агентов выберите нужный пул агентов.
Выберите агента и выберите нужного агента.
Перейдите на вкладку Возможности.
Заметка
Размещенные корпорацией Майкрософт агенты не отображают системные возможности. Список программного обеспечения, установленного в агентах, размещенных корпорацией Майкрософт, см. в статье Использование размещенного корпорацией Майкрософт агента.
На вкладке пулы агентов выберите нужный пул.
Выберите агент и определите нужного агента.
Выберите вкладку Возможности.
вкладка "Возможности агента
На вкладке пулы агентов выберите нужный пул.
Выберите агент и определите нужного агента.
Выберите вкладку Возможности.
Найдите функциональность
Agent.Version
. Это значение можно проверить на наличие последней опубликованной версии агента. Посмотрите раздел о агенте Azure Pipelines и проверьте страницу, чтобы найти наибольший номер версии, указанный в списке.Каждый агент автоматически обновляется при выполнении задачи, требующей более новой версии агента. Если вы хотите вручную обновить некоторые из агентов, щелкните правой кнопкой мыши на пуле и выберите Обновить все агенты.
Можно ли обновить агентов, которые входят в серверный пул Azure DevOps?
Да. Начиная с Azure DevOps Server 2019, можно настроить сервер для поиска файлов пакета агента на локальном диске. Эта конфигурация переопределит версию по умолчанию, которая поставлялась с сервером во время его выпуска. Этот сценарий также применяется, если сервер не имеет доступа к Интернету.
С компьютера с доступом к Интернету скачайте последнюю версию файлов пакета агента (в .zip или .tar.gz форме) на странице выпусков агента Azure Pipelines Agent GitHub.
Передайте скачанные файлы пакетов на каждый уровень приложений Azure DevOps Server с помощью выбранного метода (например, USB-накопителя, передачи сети и т. д.). Поместите файлы агента в следующую папку:
- Windows:
%ProgramData%\Microsoft\Azure DevOps\Agents
- Linux:
usr/share/Microsoft/Azure DevOps/Agents
- macOS:
usr/share/Microsoft/Azure DevOps/Agents
Создайте папку агентов
- Все готово! Сервер 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 вручную:
- Установите для среды
DISABLE_TEE_PLUGIN_REMOVAL
или переменной конвейера значениеtrue
. Эта переменная запрещает агенту удалять подключаемый модуль TEE после извлечения репозитория TFVC. - Скачайте TEE-CLC версию 14.135.0 вручную из релизов Team Explorer Everywhere на GitHub.
- Извлеките содержимое папки
TEE-CLC-14.135.0
в<agent_directory>/externals/tee
.