Сбой сборки запросов из-за тайм-аута - Azure DevOps Server

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

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

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

Мы не можем найти в API ничего, что привело бы к ошибке тайм-аута, но мы видим, что пользовательский интерфейс может каким-то образом вычесть ее:

До сих пор мы сузили его, чтобы запросить все сборки с завершенным статусом (через этот API), но мы не получаем причины завершения, а время сборки никогда не совпадает с тайм-аутом определения сборки, поэтому "угадывая" это из выполнения план тоже будет немного шатким.

Как мы можем отфильтровать наши сборки до сборок, срок действия которых истек?

1 ответ

Решение

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

Примечание: не добавляйте timelineId, мы должны перечислить всю информацию

GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/timeline?api-version=6.1-preview.2

Если сборка отменена из-за настройки тайм-аута, мы можем получить сообщение: The job running on agent Hosted Agent ran longer than the maximum time of xxx minutes. For more information, see https://go.microsoft.com/fwlink/?linkid=2077134

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

Другие вопросы по тегам