跳到主要内容

重新运行工作流和作业

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

谁可以使用此功能?

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

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

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

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

  1. 在 GitHub 上,导航到仓库的主页。

  2. 在您的仓库名称下,单击 Actions(操作).

    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 上,导航到仓库的主页。

  2. 在您的仓库名称下,单击 Actions(操作).

    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. 单击重新运行作业

要重新运行工作流运行中失败的作业,请使用带有--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 上,导航到仓库的主页。

  2. 在您的仓库名称下,单击 Actions(操作).

    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. 单击重新运行作业

要重新运行工作流运行中的特定作业,请使用带有--job标志的run rerun子命令。将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 上,导航到仓库的主页。

  2. 在您的仓库名称下,单击 Actions(操作).

    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. 在运行名称的右侧,选择最新下拉菜单并单击以前的运行尝试。