跳至主要内容

重新运行工作流和作业

您可以重新运行工作流运行、工作流运行中的所有失败作业或工作流运行中的特定作业,最多可重新运行其初始运行后 30 天。

谁可以使用此功能?

具有仓库写入权限的人员可以重新运行仓库中的工作流。

关于重新运行流程和作业

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

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

  1. 在 GitHub.com 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 操作.

    Screenshot of the tabs for the "github/docs" repository. The "Actions" tab is highlighted with an orange outline.

  3. 在左侧边栏中,单击您要查看的流程。

    Screenshot of the left sidebar of the "Actions" tab. A workflow, "CodeQL," is outlined in dark orange.

  4. 从流程运行列表中,单击运行的名称以查看流程运行摘要。

  5. 在流程的右上角,重新运行作业。

    • 如果任何作业失败,请选择 重新运行作业下拉菜单,然后单击重新运行所有作业

    • 如果没有任何作业失败,请单击重新运行所有作业

  6. 可选地,要为重新运行启用运行器诊断日志记录和步骤调试日志记录,请选择启用调试日志记录

  7. 单击重新运行作业

要了解有关 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 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 操作.

    Screenshot of the tabs for the "github/docs" repository. The "Actions" tab is highlighted with an orange outline.

  3. 在左侧边栏中,单击您要查看的流程。

    Screenshot of the left sidebar of the "Actions" tab. A workflow, "CodeQL," is outlined in dark orange.

  4. 从流程运行列表中,单击运行的名称以查看流程运行摘要。

  5. 在工作流的右上角,选择 重新运行作业下拉菜单,然后单击重新运行失败的作业

  6. 可选地,要为重新运行启用运行器诊断日志记录和步骤调试日志记录,请选择启用调试日志记录

  7. 单击重新运行作业

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

gh run rerun RUN_ID --failed

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

gh run rerun RUN_ID --failed --debug

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

当您重新运行工作流中的特定作业时,将为该作业及其任何依赖项启动新的工作流运行。先前工作流运行中任何其他作业的任何输出都将用于重新运行。在初始运行中创建的任何工件都将在重新运行中可用。先前运行中通过的任何部署保护规则将在重新运行中自动通过。

  1. 在 GitHub.com 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 操作.

    Screenshot of the tabs for the "github/docs" repository. The "Actions" tab is highlighted with an orange outline.

  3. 在左侧边栏中,单击您要查看的流程。

    Screenshot of the left sidebar of the "Actions" tab. A workflow, "CodeQL," is outlined in dark orange.

  4. 从流程运行列表中,单击运行的名称以查看流程运行摘要。

  5. 在左侧边栏的“作业”部分,在要重新运行的作业旁边,单击 .

  6. 可选地,要为重新运行启用运行器诊断日志记录和步骤调试日志记录,请选择启用调试日志记录

  7. 单击重新运行作业

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

gh run rerun --job JOB_ID

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

gh run rerun --job JOB_ID --debug

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

来自公共存储库的可重用工作流可以使用 SHA、发布标签或分支名称进行引用。有关更多信息,请参阅“重用工作流”。

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

  • 重新运行工作流中的所有作业将使用指定引用中的可重用工作流。有关重新运行工作流中所有作业的更多信息,请参阅“重新运行工作流和作业”。
  • 重新运行工作流中失败的作业或特定作业将使用第一次尝试的相同提交 SHA 中的可重用工作流。有关重新运行工作流中失败的作业的更多信息,请参阅“重新运行工作流和作业”。有关重新运行工作流中特定作业的更多信息,请参阅“重新运行工作流和作业”。

查看以前的工作流运行

您可以查看以前尝试运行工作流的结果。您也可以使用 API 查看以前的工作流运行。有关更多信息,请参阅“工作流运行的 REST API 端点”。

  1. 在 GitHub.com 上,导航到存储库的主页。

  2. 在您的存储库名称下,单击 操作.

    Screenshot of the tabs for the "github/docs" repository. The "Actions" tab is highlighted with an orange outline.

  3. 在左侧边栏中,单击您要查看的流程。

    Screenshot of the left sidebar of the "Actions" tab. A workflow, "CodeQL," is outlined in dark orange.

  4. 从流程运行列表中,单击运行的名称以查看流程运行摘要。

  5. 在运行名称的右侧,选择 **最新** 下拉菜单并点击以前的运行尝试。