问题: 使用gitlab runner实现CICD,在执行.gitlab-ci.yml文件前要git clone repository。原本可以正常执行,但是随着project越来越大,git clone的时候报如下错误。
Running with gitlab-runner 11.0.0 (5396d320)
on runner-for-purog3.0 aef94315
Using Shell executor...
Running on host-192-168-40-54...
Cloning repository...
Cloning into '/home/gitlab-runner/builds/aef94315/0/kernel/hgdb-core'...
error: RPC failed; result=22, HTTP code = 500
fatal: The remote end hung up unexpectedly
ERROR: Job failed: exit status 1
解决思路:
1. gitlab runner 默认使用HTTP协议进行clone
2. 5XX开头的错误,说明错误发生在server端
3. 两种可能性
1)http.postBuffer 过小
2)nginx的client_max_body_size 配置太小
4. 解决方案
1)如果是第一种情况:
在server端 git config --global http.postBuffer 524288000
2)如果是第二种情况:
修改client_max_body_size to 200M in the file:
/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf
/etc/php.ini
重启nginx服务:

在执行GitLab CI/CD时,由于项目增大,git clone操作出现500错误。问题可能由http.postBuffer设置过小或nginx的client_max_body_size配置不当引起。解决方案包括调整http.postBuffer和增大nginx的client_max_body_size,但因nginx安装不标准,通过其他命令重新加载配置。最终发现错误为nginx直接返回500,可能是client_max_body_size配置问题。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



