Skip to main content

重新运行工作流程和作业

可以在工作流运行初始运行后最长 30 天内重新运行工作流运行、工作流运行中所有失败的作业或工作流运行中的特定作业。

Who can use this feature

People with write permissions to a repository can re-run workflows in the repository.

关于重新运行工作流程和作业

重新运行工作流或工作流中的作业使用与触发工作流运行的原始事件相同的 GITHUB_SHA(提交 SHA)和 GITHUB_REF (Git ref)。 工作流将使用最初触发工作流的参与者的权限,而不是启动重新运行的参与者的权限。 在初始运行最多 30 天后,可以重新运行工作流或工作流中的作业。一旦工作流的日志超过其保留限制,就无法重新运行工作流中的作业。 有关详细信息,请参阅“使用限制、计费和管理”。 重新运行工作流或工作流中的作业时,可以为重新运行启用调试日志记录。 这将为重新运行启用运行器诊断日志记录和步骤调试日志记录。 有关调试日志记录的详细信息,请参阅“启用调试日志记录”。

重新运行工作流程中的所有作业

  1. 在 GitHub.com 上,导航到存储库的主页。 1. 在你的存储库名称下,单击 “操作”。 主存储库导航中的“操作”选项卡 1. 在左侧边栏中,单击您想要查看的工作流程。 左侧边栏中的工作流列表 1. 在工作流运行列表中,单击运行的名称以查看工作流运行摘要。

    工作流程运行的名称 1. 在工作流的右上角,使用“ 重新运行作业”下拉菜单,然后选择“重新运行所有作业” 。

    如果没有作业失败,则看不到“ 重新运行作业”下拉菜单。 相反,单击“重新运行所有作业”。

    重新运行检查下拉菜单

  2. (可选)若要为重新运行启用运行程序诊断日志记录和步骤调试日志记录,请选择“启用调试日志记录”。 启用调试日志记录

若要详细了解 GitHub CLI,请参阅“关于 GitHub CLI”。

若要重新运行失败的工作流运行,请使用 run rerun 子命令。 将 run-id 替换为要重新运行的已失败运行的 ID。 如果没有指定 run-id,GitHub CLI 将返回交互式菜单供你选择最近失败的运行。

gh run rerun RUN_ID

若要为重新运行启用运行程序诊断日志记录和单步调试日志记录,请使用 --debug 标志。

gh run rerun RUN_ID --debug

要查看工作流运行的进度,请使用 run watch 子命令,并从交互式列表中选择运行。

gh run watch

重新运行工作流程中失败的作业

如果工作流程运行中的任何作业失败,您可以仅重新运行失败的作业。 在重新运行工作流程中失败的作业时,将为所有失败的作业及其依赖项启动新的工作流程运行。 上一个工作流程运行中任何成功作业的任何输出都将用于重新运行。 在初始运行中创建的任何构件都将在重新运行中可用。 在上一次运行中通过的任何环境保护规则都将自动在重新运行中通过。

  1. 在 GitHub.com 上,导航到存储库的主页。 1. 在你的存储库名称下,单击 “操作”。 主存储库导航中的“操作”选项卡 1. 在左侧边栏中,单击您想要查看的工作流程。 左侧边栏中的工作流列表 1. 在工作流运行列表中,单击运行的名称以查看工作流运行摘要。

    工作流程运行的名称

  2. 在工作流的右上角,使用“ 重新运行作业”下拉菜单,然后选择“重新运行失败的作业” 。

    重新运行检查下拉菜单

  3. (可选)若要为重新运行启用运行程序诊断日志记录和步骤调试日志记录,请选择“启用调试日志记录”。 启用调试日志记录

若要在工作流运行中重新运行失败的作业,请使用带有 --failed 标志的 run rerun 子命令。 将 run-id 替换为其重新运行失败作业的运行的 ID。 如果没有指定 run-id,GitHub CLI 将返回交互式菜单供你选择最近失败的运行。

gh run rerun RUN_ID --failed

若要为重新运行启用运行程序诊断日志记录和单步调试日志记录,请使用 --debug 标志。

gh run rerun RUN_ID --failed --debug

重新运行工作流程中的特定作业

重新运行工作流程中的特定作业时,将为该作业和任何依赖项启动新的工作流程运行。 上一个工作流程运行中任何其他作业的任何输出都将用于重新运行。 在初始运行中创建的任何构件都将在重新运行中可用。 在上一次运行中通过的任何环境保护规则都将自动在重新运行中通过。

  1. 在 GitHub.com 上,导航到存储库的主页。 1. 在你的存储库名称下,单击 “操作”。 主存储库导航中的“操作”选项卡 1. 在左侧边栏中,单击您想要查看的工作流程。 左侧边栏中的工作流列表 1. 在工作流运行列表中,单击运行的名称以查看工作流运行摘要。

    工作流程运行的名称

  2. 在要重新运行的作业旁边,单击 重新运行选定的作业

    或者,单击作业以查看日志。 在日志中,单击 重新运行选定的作业

  3. (可选)若要为重新运行启用运行程序诊断日志记录和步骤调试日志记录,请选择“启用调试日志记录”。 启用调试日志记录

若要在工作流运行中重新运行特定作业,请使用带有 --job 标志的 run rerun 子命令。 将 job-id 替换为要重新运行的作业的 ID。

gh run rerun --job JOB_ID

若要为重新运行启用运行程序诊断日志记录和单步调试日志记录,请使用 --debug 标志。

gh run rerun --job JOB_ID --debug

使用可重用工作流重新运行工作流和作业

可使用 SHA、发布标记或分支名称引用公共存储库中的可重用工作流。 有关详细信息,请参阅“调用可重用工作流”

重新运行使用可重用工作流且引用不是 SHA 的工作流时,有一些行为需要注意:

查看以前的工作流程运行

您可以查看以前尝试运行工作流程的结果。 您还可以使用 API 查看以前的工作流程运行。 有关详细信息,请参阅“获取工作流运行”。

  1. 在 GitHub.com 上,导航到存储库的主页。 1. 在你的存储库名称下,单击 “操作”。 主存储库导航中的“操作”选项卡 1. 在左侧边栏中,单击您想要查看的工作流程。 左侧边栏中的工作流列表 1. 在工作流运行列表中,单击运行的名称以查看工作流运行摘要。

    工作流程运行的名称

  2. 任何以前的运行尝试都显示在“最新”下拉菜单中。 以前的运行尝试

  3. 单击某个条目以查看其结果。