Вывод Markdown на вкладку Overview (PipelineRuns и TaskRuns)
В этом руководстве показано, как отображать отчеты в удобочитаемом виде на вкладке Overview в PipelineRuns и TaskRuns путем записи Markdown в результат Task с именем overview-markdown.
Содержание
Предварительные требованияКак это работаетШаги1. Определите result Task с именемoverview-markdown2. Запустите Task3. Просмотрите overview4. (Необязательно) Используйте это в PipelineСоветыУстранение неполадокПредварительные требования
- Установлен Tekton Pipelines в вашем кластере.
- Необязательно, но рекомендуется: развернут Tekton Results, чтобы ваши сводки оставались доступными для запросов даже после того, как старые TaskRuns/PipelineRuns будут удалены сборщиком мусора.
Зачем нужен Tekton Results? Если в вашем кластере выполняется агрессивная очистка run-ов, объекты TaskRun/PipelineRun в кластере (и их результаты) могут исчезнуть. Tekton Results предоставляет центральное хранилище, чтобы исторические отчеты Overview оставались доступными.
Как это работает
- UI считывает result Task с точным именем
overview-markdown. - Любой Markdown, который вы запишете в этот файл результата, будет отображаться на вкладке Overview соответствующего run-а.
- В Pipeline каждый Task может формировать собственный
overview-markdown, и вкладка Overview показывает их, сгруппированными по Task. - Вам не нужно записывать результат на уровне Pipeline для вкладки Overview; вместо этого записывайте в
overview-markdownTask.
Ограничения: значение result одного Task по умолчанию ограничено 4 KB. Делайте сводки краткими; при необходимости давайте ссылки на более объемные артефакты. Если вам нужен более сложный макет, см. Customize Task Overview with Templates. Если вам нужно настроить ограничение размера result, см. Result Limit Exceeded When Writing Tekton Task Results.
Шаги
1. Определите result Task с именем overview-markdown
Создайте Task (или обновите его) так, чтобы он объявлял строковый result с точно таким именем.
В одном из шагов Task запишите Markdown в $(results.overview-markdown.path).
Пример Task (замените <image> при необходимости):
Делайте Markdown коротким и сфокусированным. Значение result одного Task по умолчанию ограничено 4 KB. Для длинных отчетов:
- Загрузите полный артефакт (например, HTML, JSON, PDF) в ваше хранилище или репозиторий артефактов.
- Поместите ссылку в Markdown (например,
[Full report](https://artifact.example.com/run/123/report.html)).
Если вам нужно настроить ограничение размера result, см. Result Limit Exceeded When Writing Tekton Task Results.
2. Запустите Task
Создайте TaskRun, ссылающийся на ваш Task, и дождитесь его завершения.
Пример TaskRun:
3. Просмотрите overview
После завершения TaskRun откройте вкладку Overview TaskRun, чтобы увидеть отрендеренный Markdown.
Если ничего не отображается, проверьте логи шага, чтобы убедиться, что файл был записан в $(results.overview-markdown.path) и что имя result указано правильно.
4. (Необязательно) Используйте это в Pipeline
В Pipeline каждый Task может выводить свой собственный overview-markdown. Вкладка Overview будет отображать отдельные разделы для каждого Task (например, lint, scan, build).
Для этой функции вам не нужно использовать результаты Pipeline. На вкладке Overview отображаются только результаты Task.
Пример Pipeline (замените <lint-image> <scan-image> при необходимости):
Пример PipelineRun:
Откройте вкладку Overview PipelineRun. Вы должны увидеть два раздела Markdown: lint и scan.
Советы
- Важно точное имя: result должен называться
overview-markdown(с учетом регистра). - Записывайте в правильное место: всегда пишите в
$(results.overview-markdown.path). Результат на уровне Pipeline не нужен. - Ограничение размера: значение одного result Task по умолчанию ограничено 4 KB. Если вам нужно настроить ограничение размера result, см. Result Limit Exceeded When Writing Tekton Task Results.
Устранение неполадок
- На вкладке Overview ничего не отображается
- Проверьте имя result: оно должно быть точно
overview-markdown. - Убедитесь, что шаг записал данные в
$(results.overview-markdown.path). - Убедитесь, что ваша версия UI поддерживает эту функцию.
- Проверьте имя result: оно должно быть точно
- В логах Pod отображается overflow сообщения завершения