Устранение неполадок, препятствующих запуску конвейера

Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

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

Заметка

Следующие сценарии не задействуют параллельное задание:

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

Дополнительные сведения: Как параллельное задание используется в конвейере, Добавление утверждений для предварительного развертывания, Серверные задания, Группы развертывания

Ограничения параллельных заданий — нехватка доступных агентов или вы достигли лимита бесплатного использования.

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

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

Заметка

Azure Pipelines временно отключил автоматическое бесплатное предоставление параллельных заданий, размещенных корпорацией Майкрософт, в новых организациях для общедоступных проектов и для некоторых частных проектов. Если у вас нет параллельных заданий, выполнение конвейеров завершится следующей ошибкой: ##[error]No hosted parallelism has been purchased or granted. To request a free parallelism grant, please fill out the following form https://aka.ms/azpipelines-parallelism-request. Проверьте размещенные корпорацией Майкрософт параллельные задания, как описано в следующем разделе, и если у вас нет параллельных заданий, вы можете запросить бесплатное предоставление параллельных заданий. Чтобы запросить бесплатное выделение параллельных заданий для вашей организации, отправьте запрос. Для обработки запроса может потребоваться несколько рабочих дней.

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

одновременные задания в конвейерных процессах

Если вы используете агентов, размещенных Microsoft, проверьте ограничения на параллельные задания для Microsoft для Частных или Общедоступных проектов, в зависимости от того, является ли ваш проект Azure DevOps частным проектом (по умолчанию) или общедоступным проектом. Общедоступные проекты завершаются, и существующие общедоступные проекты преобразуются в частные в 2027 году.

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

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

Не удается получить доступ к Azure Key Vault за брандмауэром из Azure DevOps

Если вы не можете получить доступ к Azure Key Vault из конвейера, брандмауэр может блокировать IP-адрес агента Azure DevOps Services. IP-адреса, опубликованные в еженедельном файле JSON, должны быть разрешены. Дополнительные сведения см. в разделе агенты, размещенные на серверах Microsoft: сеть.

У вас недостаточно конкурентности

Чтобы проверить, сколько параллелизма у вас есть:

  1. Чтобы проверить ограничения, перейдите к параметрам проекта, параллельным заданиям.

    ограничения параллельных конвейеров

    Вы также можете получить доступ к этой странице, перейдя к https://dev.azure.com/{org}/_settings/buildqueue?_a=concurrentJobsили выбрав управлять параллельными заданиями из журналов.

    Управление параллельными заданиями

  2. Определите, в каком пуле требуется проверить параллелизм (размещенные майкрософт или локальные пулы), а затем выберите Просмотреть выполняемые задания.

  3. На экране будет отображаться текст, который сообщает: выполняется X/X заданий. Если оба числа одинаковы, ожидающие задания будут ждать завершения выполнения текущих заданий.

    Просмотр выполняемых заданий

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

    Просмотр очередных заданий

    В этом примере ограничение на количество одновременно выполняющихся задач составляет одно: выполняется одна задача и одна задача находится в очереди. Когда все агенты заняты выполнением заданий, как в этом примере, при добавлении дополнительных заданий в очередь отображается следующее сообщение: The agent request is not running because all potential agents are running other requests. Current position in queue: 1. В этом примере задание идёт следующим в очереди, поэтому его позиция — первое.

Ваше задание может ожидать утверждения

Конвейер может не перейти к следующему этапу, так как он ожидает утверждения. Дополнительные сведения см. в разделе Определение утверждений и проверки.

Все доступные агенты используются

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

  1. Перейдите на https://dev.azure.com/{org}/_settings/agentpools

  2. Выберите пул агентов для проверки, в этом примере FabrikamPool, и выберите Агенты.

    статус агента

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

Требования, которые не соответствуют возможностям агента

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

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

Заметка

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

Проблемы с подключением агента TFS

Сбой конфигурации при тестировании подключения агента (только для локальных TFS)

Testing agent connection.
VS30063: You are not authorized to access http://<SERVER>:8080/tfs

Если при настройке агента возникает ошибка, войдите на компьютер TFS. Запустите диспетчер служб IIS. Убедитесь, что включена анонимная проверка подлинности.

включена анонимная проверка подлинности TFS

Агент потерял связь

Эта проблема характеризуется сообщением об ошибке:

The job has been abandoned because agent did not renew the lock. Ensure agent is running, not sleeping, and has not lost communication with the service.

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

  • Убедитесь, что автоматические обновления отключены. Перезагрузка компьютера после обновления приведет к сбою сборки или выпуска с указанной выше ошибкой. Примените обновления в управляемом режиме, чтобы избежать этого типа прерывания. Перед перезагрузкой компьютера агента пометьте агент как отключенный на странице администрирования пула и допустите завершение любой запущенной сборки.
  • Убедитесь, что параметры сна отключены.
  • Если агент работает на виртуальной машине, избегайте динамической миграции или другой операции обслуживания виртуальных машин, которые могут серьезно повлиять на работоспособность компьютера в течение нескольких минут.
  • Если агент работает на виртуальной машине, те же рекомендации по обновлению операционной системы и рекомендации по настройке сна применяются к хост-компьютеру. А также любые другие операции обслуживания, которые влияют на хост-компьютер.
  • Ведение журнала мониторинга производительности или другое ведение журнала метрик работоспособности может помочь сопоставить этот тип ошибки с ограниченной доступностью ресурсов на компьютере агента (диск, память, файл страницы, процессор, сеть).
  • Другой способ сопоставить ошибку с сетевыми проблемами — это пинговать сервер бесконечно и записывать выходные данные в файл вместе с временными метками. Используйте здоровый интервал, например 20 или 30 секунд. Если вы используете Azure Pipelines, то вы можете отправить запрос к интернет-домену, например bing.com. Если вы используете локальный сервер TFS, вам необходимо пинговать сервер в той же сети.
  • Убедитесь, что пропускная способность сети компьютера достаточна. Чтобы проверить пропускную способность, можно выполнить онлайн-тест скорости.
  • Если вы используете прокси-сервер, убедитесь, что агент настроен для использования прокси-сервера. См. раздел о развертывании агента.

Агент заданий TFS не запущен

Это может характеризоваться сообщением в веб-консоли "Ожидание запроса агента". Убедитесь, что служба Windows TFSJobAgent (отображаемое имя: агент фонового задания Visual Studio Team Foundation) запущена.

URL-адрес неправильно настроенного уведомления (версия агента 1.x)

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

В случае несоответствия URL-адреса уведомления, рабочий процесс может не подключиться к серверу. См. консоль администрирования Team Foundation, уровень приложений. Агент 1.x прослушивает очередь сообщений, используя URL-адрес, который был настроен. Однако при извлечении сообщения задания из очереди рабочий процесс использует URL-адрес уведомления для обратного взаимодействия с сервером.

Проверка состояния Azure DevOps для снижения уровня обслуживания

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