注意:GitHub Enterprise Server 目前不支持 GitHub 托管的运行器。 可以在 GitHub public roadmap 上查看有关未来支持计划的更多信息。
执行这些步骤需要对仓库的写入访问权限。
取消工作流程运行
-
在 GitHub 上,导航到存储库的主页面。
-
在存储库名称下,单击 “操作”。
-
在左侧边栏中,单击您想要查看的工作流程。
-
从工作流运行列表中,单击要取消的
queued
或in progress
运行的名称。 -
在工作流右上角单击“取消工作流”。
GitHub 取消工作流程运行所执行的步骤
取消工作流程运行时,您可能正在运行使用与工作流程运行相关的资源的其他软件。 为了帮助您释放与工作流程运行相关的资源,它可能有助于了解 GitHub 为取消工作流程运行而执行的步骤。
- 要取消工作流运行,服务器将重新评估所有正在运行的作业的
if
条件。 如果条件评估为true
,作业将不会取消。 例如,条件if: always()
评估为 true,作业继续运行。 没有条件时,则等同于条件if: success()
,仅在上一步已成功完成时才会运行。 - 对于需要取消的作业,服务器向包含需取消作业的所有运行器机器发送取消消息。
- 对于继续运行的作业,服务器将对未完成的步骤重新评估
if
条件。 如果条件评估为true
,则步骤继续运行。 可以使用cancelled
表达式来应用cancelled()
状态检查。 有关详细信息,请参阅“对工作流和操作中的表达式求值”。 - 对于需要取消的步骤,运行器计算机发送
SIGINT/Ctrl-C
到该步骤的入口进程(对于 javascript 操作,为node
;对于容器操作,为docker
;在步骤中使用run
时,为bash/cmd/pwd
)。 如果进程未在 7500 毫秒内退出,运行器将发送SIGTERM/Ctrl-Break
到此进程,然后等待 2500 毫秒让进程退出。 如果该进程仍在运行,运行器会停止进程树。 - 在 5 分钟取消超时期后,服务器将强制终止未完成运行或无法完成取消进程的所有作业和步骤。