最近使用gitlab的ci,但是部分执行过长的脚本,web界面会一直等待,最后超时失败,但是脚本实际上已经执行完成
开启了gitlab-runner debug模式
发现gitlab-runner工作原理基本上是这样 每隔几秒,就将脚本执行输出,通过接口,传送到gitlab
然后在gitlab网页这显示出来,并脚本是否执行完成的判断,也是由gitlab-runner通过接口传递的
如果这几秒钟,脚本输出内容过大,超出了nginx的client_body_buffer_size限制,导致接口500
所以只需要调整这个值为一个很大的值,例如100m即可正常

此处用的是gitlab官方的docker镜像 官方这里考虑还是不够周全 毕竟build docker镜像 有些情况下 输出内容确实比较多
所以如果能默认调整为一个很大的值,防止ci不正常工作,还是对小白比较友好的

最后修改:2021 年 09 月 16 日 03 : 56 PM
如果觉得我的文章对你有用,请随意赞赏