GitHub Actions 常见问题与解决方案
这部分在导学阶段,可能不太会涉及到,但在后续阶段,可能会很常见!故,推荐同学们在这里先浏览一遍。
在使用 GitHub Actions
(在 Gitee 里称为 Gitee Go
,中文译作流水线) 进行代码托管和自动化测试时,可能会遇到各种问题,如工作流不执行、时间耗尽、运行时间过长等。以下是针对这些常见问题的详细解决方案,请重点查看“运行时间过长怎么办”这一部分!
本节目录
1. 在启用 GitHub Actions 并向仓库 push 代码后工作流不执行
- 检查 Actions 时间:首先确认你的仓库 Actions 时间是否已经耗尽。如果时间耗尽,工作流将不会执行。
- 手动触发工作流:如果 Actions 时间未耗尽,尝试在 Actions 页面手动触发新的工作流。使用仓库中的工作流配置文件,配置文件通常位于
.github/workflows/main.yml
。 - 修改配置文件:如果手动触发工作流后问题依旧,尝试修改配置文件中的作业名称或步骤名称,然后重新提交。
- 重新
fork
仓库:如果上述步骤都无法解决问题,尝试重新 fork 仓库,然后再次推送代码。 - 手动创建新仓库:如果重新
fork
仓库后问题仍未解决,可以尝试根据当前仓库内容手动创建一个新仓库,但不进行fork
操作,直接把工作流的代码和你完成后的代码copy
到新仓库里。
2. 在启用 GitHub Actions 时不小心创建了默认工作流
- 删除默认工作流:默认工作流的运行不会影响自定义工作流的运行,但会消耗时间。你可以在 Actions 页面手动删除默认工作流。自定义工作流的默认名称可能为“ci”或“cd”。
3. 仓库 GitHub Actions 时间耗尽怎么办
- 再
fork
一个仓库:如果仓库的 Actions 时间耗尽,最简单的解决方案是再fork
一个仓库,然后继续使用。
4.工作流运行时间过长怎么办
- 手动取消运行:如果工作流运行时间过长,可以手动取消运行。然后查看工作流日志,确定导致运行时间过长的原因。理论上,单次工作流运行时间不应超过 20 分钟。
- 换个人少的时间段:如果工作流运行时间过长,可以尝试在其它时间段运行,例如工作日的上午或下午。一定尽量避免在晚上、凌晨或者周末运行,按照规律来看,这些时间非常容易出现工作流运行时间过长的问题。
根据其它训练营的情况来看,工作流运行时间过长的原因很可能是因为某段时间内,使用相同父仓库 clone
下来的工作流代码,被多个用户同时运行,导致 Github 后端预留的服务器数量等资源产生严重竞争,导致类似死锁或饥饿的情况发生,反映到前端就是,工作流运行时间极长,但仍旧没有结果。
5. 工作流日志无法生成
- 尝试其他设备或浏览器:如果工作流日志无法生成,尝试使用手机或其他浏览器查看。有时候,问题可能是由于浏览器兼容性或缓存问题导致的。