问题: 使用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/ngi