Могут ли задачи yaml в конвейере считывать и записывать исторические данные?

#tfs #azure-devops #azure-pipelines

#tfs #azure-devops #azure-конвейеры

Вопрос:

Я думаю о способе ускорения определенных частей нашего конвейера CI и столкнулся с вопросом, который мне не понятен.

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

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

Мой вопрос: могу ли я написать задачу, которая может сообщать и запрашивать ее состояние, постоянное для всех агентов сборки, без использования моего собственного кэша?

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

Что я пытаюсь оценить: могу ли я создать задачу, которая, например, запрашивает глобальный кэш ADO, например "did for commit hash 424de2 static code analysis complete?" (независимо от того, на каком агенте сборки я сейчас нахожусь)

Комментарии:

1. Интересная идея. Используете ли вы конвейеры yaml? Если да, вы смотрели на задачу кэша?

2. We retrigger the build from a pull request so we cannot manually disable certain steps like static code analysis. это не так. Если вы повторно запустите сборку вручную, вы можете создать такой конвейер, чтобы пропустить некоторые шаги.

3. @bryanbcook afaik задача кэша выполняется только для каждого агента ( learn.microsoft.com/en-us/azure/devops/pipelines/tasks/utility /… ), или я ошибаюсь?

4. @KrzysztofMadej мы ставим сборку в очередь со страницы запроса на извлечение. На ADO 2020 в помещении мне неизвестно, как настроить что-либо, кроме повторного запуска сборки с настройками по умолчанию.

5. В кэшировании конвейера спецификаций нет ничего, указывающего на то, что кэши предназначены для каждого агента. Напротив, в спецификации говорится о получении кэша с сервера .