将 Markdown 输出到 Overview 选项卡(PipelineRuns 和 TaskRuns)
本指南将介绍如何通过将 Markdown 写入名为 overview-markdown 的 Task Result,在 PipelineRuns 和 TaskRuns 的 Overview 选项卡中展示人类可读报告。
目录
先决条件工作原理步骤1. 定义一个名为overview-markdown 的 Task result2. 运行 Task3. 查看 Overview4. (可选)在 Pipelines 中使用提示故障排除先决条件
- 集群上已安装 Tekton Pipelines。
- 可选但建议: 已部署 Tekton Results,这样即使旧的 TaskRuns/PipelineRuns 被垃圾回收,你的摘要仍然可以被查询。
为什么要使用 Tekton Results?如果集群会积极清理运行记录,那么集群内的 TaskRun/PipelineRun 对象(及其结果)可能会消失。Tekton Results 提供了一个集中式存储,因此历史 Overview 报告仍然可以访问。
工作原理
- UI 会读取 Task 中名为
overview-markdown的 result,且名称必须完全一致。 - 你写入该 result 文件中的任何 Markdown,都会在运行的 Overview 选项卡中渲染。
- 在 Pipeline 中,每个 Task 都可以生成自己的
overview-markdown,Overview 选项卡会按 Task 分组显示它们。 - 对于 Overview 选项卡,你不需要向 Pipeline result 写入内容;只需写入 Task 的
overview-markdown即可。
限制: 默认情况下,单个 Task 的 result 值限制为 4 KB。请保持摘要简洁;在需要时链接到更大的制品。如果你需要更复杂的布局,请参阅 模板渲染。如果你想配置 result 大小限制,可以参考 写入 Tekton Task Results 时超出 Result 限制。
步骤
1. 定义一个名为 overview-markdown 的 Task result
创建(或更新)你的 Task,使其声明一个名称完全一致的字符串 result。
在 Task 的某个 step 中,将 Markdown 写入 $(results.overview-markdown.path)。
Task 示例(按需替换 <image>):
请保持 Markdown 简短且聚焦。默认情况下,单个 Task 的 result 值限制为 4 KB。对于较长的报告:
- 将完整制品(例如 HTML、JSON、PDF)上传到你的存储或制品仓库。
- 在 Markdown 中放置一个链接(例如
[完整报告](https://artifact.example.com/run/123/report.html))。
如果你想配置 result 大小限制,可以参考 写入 Tekton Task Results 时超出 Result 限制。
2. 运行 Task
创建一个引用该 Task 的 TaskRun,等待其完成。
TaskRun 示例:
3. 查看 Overview
TaskRun 完成后,打开 TaskRun 的 Overview 选项卡即可查看渲染后的 Markdown。
如果没有任何内容渲染,请检查 step 日志,确认文件已写入 $(results.overview-markdown.path),并且 result 名称正确。
4. (可选)在 Pipelines 中使用
在 Pipeline 中,每个 Task 都可以输出自己的 overview-markdown。Overview 选项卡会按 Task 显示独立的部分(例如 lint、scan、build)。
对于此功能,你不需要使用 Pipeline 的 results。Overview 选项卡仅渲染 Task results。
Pipeline 示例(按需替换 <lint-image> <scan-image>):
PipelineRun 示例:
打开 PipelineRun 的 Overview 选项卡。你应该会看到两个 Markdown 部分:lint 和 scan。
提示
- 名称必须完全一致: result 必须命名为
overview-markdown(区分大小写)。 - 写入正确位置: 始终写入
$(results.overview-markdown.path)。你不需要 Pipeline 级别的 result。 - 大小限制: 默认情况下,单个 Task result 值上限为 4 KB。如果你想配置 result 大小限制,可以参考 写入 Tekton Task Results 时超出 Result 限制。
故障排除
- Overview 选项卡中没有任何内容
- 检查 result 名称:它必须完全是
overview-markdown。 - 验证 step 是否写入了
$(results.overview-markdown.path)。 - 确认你的 UI 版本支持此功能。
- 检查 result 名称:它必须完全是
- Pod 日志显示 termination message overflow