GitHub Actions 怎么手动重跑单个失败任务
GitHub Actions 可以只重跑一个具体失败的 job:进入失败的 workflow run,在左侧 Jobs 区域找到目标 job,点击它旁边的重跑入口,按需启用调试日志,再确认 Re-run jobs。需要特别注意的是,这并不一定只启动一个节点——依赖该 job 的下游 jobs 也会一起重新运行。
- Re-run all jobs:重跑整个 workflow run。
- Re-run failed jobs:重跑所有失败 jobs 及其依赖者。
- 具体 job 旁的重跑入口:重跑选中的 job 及依赖它的下游 jobs。
官方地址:https://docs.github.com/en/actions/how-tos/manage-workflow-runs/re-run-workflows-and-jobs
准备运行记录:确认权限和重跑范围
先记下仓库、workflow 名称、失败 run、目标 job,以及它是否有下游依赖。GitHub 官方说明要求操作者拥有仓库写权限;workflow 或 job 可以在首次运行后的 30 天内重跑,且日志不能已经超过保留期限。一次 workflow run 最多允许重跑 50 次,这个次数同时计算整次重跑与部分 job 重跑。
如果目标是 test,而 deploy 通过 needs: test 依赖它,那么选择重跑 test 时,新的 attempt 会包含 test 和 deploy。此前已成功且不依赖它的 build 不需要再次执行,其输出仍可供新的 attempt 使用。
| 你的目标 | 应该选的入口 | 实际影响 |
|---|---|---|
| 只修复一个失败 job | Jobs 区域中该 job 的重跑入口 | 该 job 与依赖它的下游 jobs |
| 一次处理全部失败项 | Re-run failed jobs | 所有失败 jobs 及其依赖者 |
| 从头验证整条流水线 | Re-run all jobs | workflow 中全部 jobs |
第一步:选择 Actions 入口和失败 run
- 打开目标仓库主页,点击仓库名称下方的 Actions 标签。
- 在左侧 workflow 列表中选择目标 workflow,例如 Build and test。
- 在 Workflow runs 列表中点击红色 Failed 的那次运行名称。
成功进入后,页面应显示 workflow run summary;左侧能看到 Jobs 区域,中央能看到提交、分支、触发时间和运行状态。不要停留在 workflow runs 列表页,因为单个 job 的重跑入口在具体 run 里面。

第二步:映射并选中要重跑的具体 job
- 在左侧 Jobs 区域找到红色失败状态的 job。
- 先点击 job 名称,确认中央日志中的失败步骤就是本次要修复的目标。
- 回到该 job 行,点击其旁边的重跑图标或操作入口,而不是右上角的 Re-run failed jobs。
这一步的判断标准很简单:你应当看到目标从“整个 run”缩小到一个明确 job,例如 test。如果页面只提供右上角下拉菜单中的 Re-run failed jobs,先检查是否选中了具体 job,或当前账号是否有仓库写权限。

第三步:预览影响范围并提交重跑
打开重跑确认层后,核对显示的目标 job。若上一次失败信息不足,可以勾选 Enable debug logging。它会为本次重跑启用 runner diagnostic logging 和 step debug logging,适合定位环境、表达式、权限或 runner 侧问题;正常情况下不要长期默认开启,以免日志变得过于冗长。
- 确认目标 job 名称无误。
- 根据排障需要决定是否启用 Enable debug logging。
- 点击主按钮 Re-run jobs 提交。

重跑不是用当前操作者身份重新触发一次新事件。GitHub 会继续使用原始事件的 GITHUB_SHA 和 GITHUB_REF,权限上下文也取自最初触发 workflow 的 actor,而不是点击重跑的人。这意味着:如果代码已经在后续提交中修复,直接重跑旧 attempt 仍然针对原来的提交;想验证新代码,应让新提交触发新的 workflow run。
第四步:核对新的 attempt 和下游任务
提交后,页面会进入新的 attempt。先观察目标 job 是否从 queued、in progress 进入 success,再确认依赖它的下游 jobs 是否按预期启动。此前成功 jobs 的输出、原始运行产生的 artifacts,以及此前已通过的 deployment protection rules,官方说明都可在相应重跑中继续使用。
- 查看目标 job 顶部状态和失败步骤是否消失。
- 展开新的日志,确认修复点而不是偶然通过。
- 检查依赖目标 job 的下游 jobs 是否重新运行并完成。
- 需要对比时,在运行名称右侧打开 Latest 下拉菜单,切换到之前的 attempt。

CLI 方式:已知 JOB_ID 时直接重跑
如果团队日常使用 GitHub CLI,可以通过具体 JOB_ID 执行同一类操作。注意 --failed 是“所有失败 jobs”,而 --job 才是“某个具体 job”。
# 查看最近的 workflow runs,先取得目标 RUN_ID gh run list --workflow "Build and test" # 查看某次运行的 job 信息,从输出中确认目标 JOB_ID gh run view RUN_ID # 只重跑指定 JOB_ID;其依赖者仍可能随之运行 gh run rerun --job JOB_ID # 需要更详细排障信息时,为本次重跑启用调试日志 gh run rerun --job JOB_ID --debug
CLI 命令提交后,可以用 gh run watch 观察运行进度;这属于替代入口,不影响网页操作中的范围判断原则。
异常处理:为什么看不到单个 job 的重跑入口
- 没有写权限:只有拥有仓库写权限的人才能重跑 workflow 或 job。
- 运行过旧:首次运行超过 30 天后不能再重跑;日志超过保留期限也无法重跑相应 jobs。
- 已达到次数限制:同一 workflow run 的全部与部分重跑合计最多 50 次。
- 选错页面:必须先进入具体 workflow run summary,再从 Jobs 区域选择 job。
- 把 step 当 job:GitHub 支持重跑 job,不支持只重跑 job 内的单个 step。
结果核对清单
| 核对项 | 正确状态 | 异常时怎么做 |
|---|---|---|
| 目标范围 | 只选中一个具体 job | 返回 Jobs 区域重新选择 |
| 代码版本 | 仍是原始 GITHUB_SHA 与 GITHUB_REF | 要验证新提交时触发新 run |
| 目标 job | 新 attempt 中变为 success | 对比前后日志与失败步骤 |
| 下游 jobs | 依赖目标 job 的节点重新运行 | 检查 needs 条件和跳过原因 |
| 历史记录 | Latest 菜单可切换旧 attempt | 确认日志仍在保留期 |
相关问题
单个 job 重跑后,依赖它的 deploy 会不会一起跑
会。官方说明中,重跑一个具体 job 时,依赖它的 jobs 也会在新的 workflow run attempt 中启动。
可以只重跑失败 step 吗
不可以。重跑粒度是 job,不是 job 内部的 step。若想缩短成本,需要重新拆分 workflow 的 job 边界。
为什么修复代码后重跑仍然报原来的错
因为重跑沿用最初事件的 GITHUB_SHA 和 GITHUB_REF。后续提交不会自动替换旧 run 的代码版本,应触发一条新的 workflow run。
重跑失败 jobs 和重跑单个 job 有什么区别
Re-run failed jobs 会选择所有失败 jobs;单个 job 入口只选择目标 job,但两者都会带上各自依赖关系中的下游 jobs。
Lanerc动漫支持哪些平台?安卓、iOS入口与版本信息核对说明
- 上一篇
- Lanerc动漫支持哪些平台?安卓、iOS入口与版本信息核对说明
- 下一篇
- 蛙蛙漫画更新时间是哪一项?公开资料页更新字段与版本号说明
-
- 文章 · 软件教程 | 8小时前 | 开发环境 · vs code · VS Code Docker Compose Dockerfile devcontainer.json Dev Containers
- VS Code Dev Containers 修改配置后怎么完整重建容器
- 368浏览 收藏
-
- 文章 · 软件教程 | 12小时前 | vs code · 软件教程 · VS Code 设置同步 Profiles Settings Sync 扩展同步
- VS Code Profiles 怎么只同步指定扩展和设置
- 345浏览 收藏
-
- 文章 · 软件教程 | 18小时前 |
- VS Code 提示仓库不安全时怎么处理 safe.directory
- 199浏览 收藏
-
- 文章 · 软件教程 | 21小时前 | docker · Context ·
- Docker Context 怎么切换远程守护进程
- 372浏览 收藏
-
- 文章 · 软件教程 | 23小时前 | 命令行 · 效率工具 · github · 开发工具 · 软件教程 · 位置参数 命令别名 GitHub CLI gh alias set shell alias
- GitHub CLI 怎么创建带参数的命令别名
- 404浏览 收藏
-
- 文章 · 软件教程 | 1天前 | obsidian · 软件教程 · YAML Properties Obsidian 笔记元数据 属性类型 Properties视图
- Obsidian Properties 怎么统一管理笔记元数据
- 378浏览 收藏
-
- 文章 · 软件教程 | 1天前 | postman · 软件教程 · 接口测试 · 环境变量 初始值 Postman 当前值 Local value Shared value
- Postman 环境变量怎么区分初始值与当前值
- 360浏览 收藏
-
- 文章 · 软件教程 | 1天前 | CI/CD · gitHub actions · 软件教程 · GitHub GitHub Actions 构件保留时间
- GitHub Actions 怎么设置构件保留时间
- 395浏览 收藏
-
- 文章 · 软件教程 | 1天前 | git · 软件教程 · Git Git worktree worktree prune
- Git worktree 怎么清理失效工作区记录
- 287浏览 收藏
-
- 文章 · 软件教程 | 1天前 | docker ·
- Docker Build 缓存挂载怎么复用包管理器下载
- 264浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 343次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 403次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 404次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 363次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 185次使用
-
- 聊聊Go语言编译github上的项目遇到的坑
- 2022-12-31 455浏览
-
- Go HTTP 客户端超时实战:别让默认 Client 拖垮 goroutine
- 2026-06-04 205浏览
-
- Go 项目用 GitHub Actions 自托管 runner:版本强制执行前该怎么整理 CI
- 2026-07-09 340浏览
-
- Go HTTP 响应体忘记关闭:连接占用与 Goroutine 增长的排查修复
- 2026-07-13 201浏览
-
- Go JSON 严格解码上线后请求变 400:DisallowUnknownFields 的兼容性故障复盘
- 2026-07-26 174浏览

