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

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | Team Foundation Server 2018 — Team Foundation Server 2015

Примечание

В Microsoft Team Foundation Server (TFS) 2018 и предыдущих версий конвейеры сборки и выпуска называются определениями, выполнения называются сборками, подключения к службам называются конечными точками служб, этапы называются средами, а задания называются этапами.

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

Перед началом работы

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

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

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

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

Убедитесь, что на компьютере имеются следующие компоненты.

  • macOS Sierra (10,12) или более поздней версии
  • Git 2.9.0 или более поздней версии (настоятельно рекомендуется использовать последнюю версию). Вы можете легко установить с Homebrew)

Эти предварительные требования необходимы для агента версии 2.125.0 и выше.

Эти предварительные требования необходимы для агента версии 2.124.0 и ниже. Если у вас есть такая возможность, рекомендуется выполнить обновление до более новой версии macOS (10.12 +) и выполнить обновление до последней версии агента.

Убедитесь, что на компьютере имеются следующие компоненты.

  • OS X Yosemite (10,10), El Capitan (10,11) или macOS Sierra (10,12)
  • Git 2.9.0 или более поздней версии (настоятельно рекомендуется использовать последнюю версию)
  • Соответствует всем предварительные требования для .NET Core 1. x

TFVC

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

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

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

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

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

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

Безопасность информации для агентов с самостоятельным размещением

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

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

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

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

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

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

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

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

Проверка подлинности с помощью личного маркера доступа (PAT)

  1. выполните вход с использованием учетной записи пользователя, которую вы планируете использовать на веб-портале Team Foundation Server ( https://{your-server}:8080/tfs/ ).
  1. войдите с помощью учетной записи пользователя, которую вы планируете использовать, Azure DevOps Server веб-портале ( https://{your-server}/DefaultCollection/ ).
  1. войдите с помощью учетной записи пользователя, которую вы планируете использовать в вашей Azure DevOps организации ( https://dev.azure.com/{your_organization} ).
  1. На домашней странице откройте профиль. Перейдите к сведениям о безопасности.

    Go to your security details.

  2. Создайте личный маркер доступа.

    Create a personal access token.

  1. На домашней странице откройте параметры пользователя, а затем выберите Личные маркеры доступа.

    Go to your security details.

  2. Создайте личный маркер доступа.

    Create a personal access token.

  1. Для области выберите Пулы агентов (чтение, управление) и убедитесь, что все остальные поля сняты. Если это агент группы развертывания , для области выберите группу развертывания (чтение, управление) и убедитесь, что все остальные поля сняты.

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

  2. Скопируйте маркер. Этот токен будет использоваться при настройке агента.

проверка подлинности в качестве Windows пользователя (tfs 2015 и tfs 2017)

в качестве альтернативы в TFS 2017 можно использовать пользователей домена или локального пользователя Windows на каждом из уровней приложений TFS.

в TFS 2015 для macOS и Linux рекомендуется создать локального пользователя Windows на каждом уровне приложения TFS и выделить этого пользователя в целях развертывания агентов сборки.

Подтверждение того, что пользователь имеет разрешение

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

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

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

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

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

      Choose Organization settings.

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

      Choose Agent pools tab.

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

      Choose Collection settings.

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

      Choose Agent pools.

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

      Collection settings, 2019.

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

      Choose Agent pools, 2019.

    1. перейдите к своему проекту и выберите Параметры (значок шестеренки) очереди агентов.

      Choose Settings, Agent Queues, 2018.

    2. Выберите Управление пулами.

      Choose Manage pools, 2018.

    1. перейдите к своему проекту и выберите Параметры (значок шестеренки) очереди агентов.

      Choose settings, Agent Queues, 2017.

    2. Выберите Управление пулами.

      Choose Manage pools, 2017.

    1. Перейдите к своему проекту и выберите Управление проектом (значок шестеренки).

      Manage project, 2015.

    2. Выберите Панель управления.

      Choose Control panel, 2015.

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

      Select Agent pools, 2015.

  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. выберите Azure DevOps, параметры организации.

      Choose Organization settings.

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

      Choose Agent pools tab.

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

      Choose Collection settings.

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

      Choose Agent pools.

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

      Collection settings, 2019.

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

      Choose Agent pools, 2019.

    1. перейдите к своему проекту и выберите Параметры (значок шестеренки) очереди агентов.

      Choose Settings, Agent Queues, 2018.

    2. Выберите Управление пулами.

      Choose Manage pools, 2018.

    1. перейдите к своему проекту и выберите Параметры (значок шестеренки) очереди агентов.

      Choose settings, Agent Queues, 2017.

    2. Выберите Управление пулами.

      Choose Manage pools, 2017.

    1. Перейдите к своему проекту и выберите Управление проектом (значок шестеренки).

      Manage project, 2015.

    2. Выберите Панель управления.

      Choose Control panel, 2015.

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

      Select Agent pools, 2015.

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

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

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

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

  7. Очистите Расширенный атрибут в tar file: xattr -c vsts-agent-osx-x64-V.v.v.tar.gz .

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

Azure DevOps Server 2019 и Azure DevOps Server 2020

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

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

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

      Choose Organization settings.

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

      Choose Agent pools tab.

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

      Choose Collection settings.

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

      Choose Agent pools.

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

      Collection settings, 2019.

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

      Choose Agent pools, 2019.

    1. перейдите к своему проекту и выберите Параметры (значок шестеренки) очереди агентов.

      Choose Settings, Agent Queues, 2018.

    2. Выберите Управление пулами.

      Choose Manage pools, 2018.

    1. перейдите к своему проекту и выберите Параметры (значок шестеренки) очереди агентов.

      Choose settings, Agent Queues, 2017.

    2. Выберите Управление пулами.

      Choose Manage pools, 2017.

    1. Перейдите к своему проекту и выберите Управление проектом (значок шестеренки).

      Manage project, 2015.

    2. Выберите Панель управления.

      Choose Control panel, 2015.

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

      Select Agent pools, 2015.

  3. Щелкните Скачать агент.

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

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

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

  7. Очистите Расширенный атрибут в tar file: xattr -c vsts-agent-osx-x64-V.v.v.tar.gz .

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

TFS 2017 и TFS 2018

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

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

    1. перейдите к своему проекту и выберите Параметры (значок шестеренки) очереди агентов.

      Choose settings, Agent Queues, 2017.

    2. Выберите Управление пулами.

      Choose Manage pools, 2017.

  3. Щелкните Скачать агент.

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

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

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

  7. Очистите Расширенный атрибут в tar file: xattr -c vsts-agent-osx-x64-V.v.v.tar.gz .

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

TFS 2015

  1. Перейдите к последнему выпуску на GitHub.

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

  3. Настройте агент.

    ./config.sh
    

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

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

TFS 2017 и более поздние версии: https://{your_server}/tfs

TFS 2015: http://{your_server}:8080/tfs

Authentication type (Тип проверки подлинности)

Azure Pipelines

Выберите Patи вставьте созданный маркер Pat в окно командной строки.

Примечание

При использовании PAT в качестве метода проверки подлинности токен PAT используется только для начальной настройки агента. дополнительные сведения см. в статье взаимодействие с Azure Pipelines или TFS.

TFS или Azure DevOps Server

Важно!

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

При настройке агента для подключения к TFS вы получаете следующие возможности:

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

  • Интегрированная интеграция Не поддерживается в macOS или Linux.

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

  • Pat поддерживается только в Azure Pipelines и TFS 2017 и более поздних версиях. После выбора PAT вставьте созданный маркер Pat в окно командной строки. используйте личный маркер доступа (PAT), если Azure DevOps Server или экземпляр TFS и компьютер агента не находятся в доверенном домене. PAT-аутентификация обрабатывается Azure DevOps Server или экземпляром TFS, а не контроллером домена.

Примечание

при использовании pat в качестве метода проверки подлинности токен pat используется только для начальной настройки агента на Azure DevOps Server и более новых версиях TFS. дополнительные сведения см. в статье взаимодействие с Azure Pipelines или TFS.

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

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

Чтобы запустить агент в интерактивном режиме:

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

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

    ./run.sh
    

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

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

Запустить один раз

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

./run.sh --once

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

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

Мы предоставляем ./svc.sh скрипт для запуска и управления агентом в качестве запущенной службы 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 на сервере. Например, если вы подключаетесь к http://our-server:8080/tfs , имя службы будет vsts.agent.our-server.our-osx-agent

Команды

Перейдите в каталог агента.

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

cd ~/myagent$

Установка

Команда:

./svc.sh install

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

Stop

Команда:

./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.

Примечание

Дополнительные сведения см. в статье Использование автоматического имени входа в блоге. Файл. plist, упомянутый в этом блоге, может быть недоступен в источнике, но копию можно найти здесь: лифехаккер-make OS X загрузить рабочий стол перед входом в систему.

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

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

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

. файл службы

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

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

Мы предоставляем ./svc.sh сценарий в качестве удобного способа запуска и управления агентом в качестве запущенной службы 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 (Личный маркер доступа)
    • negotiate (Kerberos или NTLM)
    • alt (Обычная проверка подлинности)
    • integrated(Windows учетные данные по умолчанию)

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

  • Если вы выбрали --auth pat :
    • --token <token> — Указывает личный маркер доступа
  • Если вы выбрали --auth negotiate или --auth alt :
    • --userName <userName>— указывает имя пользователя Windows в формате domain\userName илиuserName@domain.com
    • --password <password> — Указывает пароль.

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

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

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

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

запуск только Windows

  • --runAsService-настроить запуск агента в качестве службы Windows (требуется разрешение администратора)
  • --runAsAutoLogon — Настройка автоматического входа и запуск агента при запуске (требуется разрешение администратора);
  • --windowsLogonAccount <account>— используется с --runAsService или --runAsAutoLogon для указания имени пользователя Windows в формате domain\userName илиuserName@domain.com
  • --windowsLogonPassword <password>— используется с --runAsService или --runAsAutoLogon для указания пароля Windows входа в систему
  • --overwriteAutoLogon — используется с --runAsAutoLogon для перезаписи существующего автоматического входа на компьютер
  • --noRestart — используется с --runAsAutoLogon для отмены перезапуска узла после завершения настройки агента.

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

  • --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.

Справка по другим параметрам

Дополнительные сведения о других возможностях:

./config.sh --help

В справке содержатся сведения о вариантах проверки подлинности и автоматической настройке.

Возможности

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

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

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

Важно!

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

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

ВОПРОСЫ И ОТВЕТЫ

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

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

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

      Choose Organization settings.

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

      Choose Agent pools tab.

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

      Choose Collection settings.

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

      Choose Agent pools.

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

      Collection settings, 2019.

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

      Choose Agent pools, 2019.

    1. перейдите к своему проекту и выберите Параметры (значок шестеренки) очереди агентов.

      Choose Settings, Agent Queues, 2018.

    2. Выберите Управление пулами.

      Choose Manage pools, 2018.

    1. перейдите к своему проекту и выберите Параметры (значок шестеренки) очереди агентов.

      Choose settings, Agent Queues, 2017.

    2. Выберите Управление пулами.

      Choose Manage pools, 2017.

    1. Перейдите к своему проекту и выберите Управление проектом (значок шестеренки).

      Manage project, 2015.

    2. Выберите Панель управления.

      Choose Control panel, 2015.

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

      Select Agent pools, 2015.

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

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

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

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

      From Agent pools, select the desired agent pool.

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

      Select Agents and choose the agent.

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

      Choose the Capabilities tab.

      Примечание

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

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

      Select the desired pool.

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

      Select Agents and choose the desired agent.

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

      Agent capabilities tab.

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

      Select the desired tab, 2019.

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

      Choose the desired agent, 2019.

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

      Choose the Capabilities tab, 2019.

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

    Agent capabilities tab, 2018.

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

    Agent capabilities tab, 2017.

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

    Choose the Agent capabilities tab, 2015.

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

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

можно ли обновить агенты v2, которые входят в состав пула Azure DevOps Server?

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

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

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

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

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

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

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

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

URL-адрес домена Описание
https://{organization_name}.pkgs.visualstudio.com Azure DevOps API упаковки для организаций, использующих {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 Release Management служб для организаций, использующих {organization_name}.visualstudio.com домен
https://{organization_name}.vssps.visualstudio.com Azure DevOps служб платформы для организаций, использующих {organization_name}.visualstudio.com домен
https://{organization_name}.vstmr.visualstudio.com Azure DevOps служб управления тестами для организаций, использующих {organization_name}.visualstudio.com домен
https://*.blob.core.windows.net Azure Artifacts
https://*.dev.azure.com Для организаций, использующих dev.azure.com домен
https://*.vsassets.io Azure Artifacts через CDN
https://*.vsblob.visualstudio.com Azure DevOps телеметрии для организаций, использующих dev.azure.com домен
https://*.vssps.visualstudio.com Azure DevOps служб платформы для организаций, использующих 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 Вход в Azure Active Directory
https://management.core.windows.net API управления Azure
https://vstsagentpackage.azureedge.net Пакет агента

Чтобы убедиться в том, что ваша организация работает с любыми существующими ограничениями брандмауэра или IP-адресов, убедитесь, что dev.azure.com и *dev.azure.com открыты, и обновите список разрешенных 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. Если вы в настоящее время разрешаете 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

Примечание

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

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

Я использую TFS, и URL-адреса в приведенных выше разделах не работают. Где можно получить справку?

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

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

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