问题简述
在 Gitlab CI 中,默认每个 Runner 只能同时运行 2 个任务,但是由于一个 trace 日志落地函数中没有考虑到 Runner 上传上来的日志中含有非 ASCII 字符,导致 Runner 因为一直报不上日志来而抛错(实际上是 OK的),并且不断地进行尝试而非不退出,然后任务就卡死了。查看 production.log 会发现:
Encoding::UndefinedConversionError ("\xE5" from ASCII-8BIT to UTF-8):
解决办法
针对这个问题,我打了个 Path,见 Github。