본문 바로가기

기타/Linux

[우분투] Ubuntu 20.04 Gitlab CE Push 오류

Gitlab CE 버전에서 Push operation timed out 문제

Gitlab CE 버전에서 Push operation timed out 문제

Gitlab Push operation timed out error

Push fail 오류 현상

  • Git history 가 포함된 Linux Kernel Code 를 Gitlab 에 강제 push 하는 과정에서 발생
  • push 하려는 commit  이 매우 클 경우, "Push operation timed out error" 가 발생하는 것으로 보임 (1 GByte 이상)
$ git push new --all

Enumerating objects: 5197863, done.
Counting objects: 100% (5197863/5197863), done.
Delta compression using up to 12 threads
Compressing objects: 100% (799501/799501), done.
Writing objects: 100% (5197863/5197863), 944.39 MiB | 10.44 MiB/s, done.
Total 5197863 (delta 4357646), reused 5197824 (delta 4357624)
remote: Resolving deltas: 100% (4357646/4357646), done.
remote: Checking connectivity: 5197863, done.
remote: GitLab: Push operation timed out
remote:
remote: Timing information for debugging purposes:
remote: Running checks for ref: devel
remote: Checking if you are allowed to push... (6.21ms)
remote: Checking if default branch is being deleted... (0.05ms)
remote: Scanning repository for blobs stored in LFS and verifying their files have been uploaded to GitLab... (cancelled after 29948.65ms)
remote: Running checks for 1 changes (cancelled after 29948.98ms)
...
error: failed to push some refs to 'git@???'

해결방법

  • Gitlab Server 의 gitlab-rails 콘솔에 들어가서, lfs_check 를 disable 하는 방법으로 해결
$ sudo gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]
 GitLab:       14.3.3 (2bbed5eb0d5) FOSS
 GitLab Shell: 13.21.1
 PostgreSQL:   12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.3.2)
irb(main):001:0> Feature.disable(:lfs_check)
=> true

참고자료

Git LFS (Large File Storage) is a Git extension developed by Atlassian, GitHub, and a few other open source contributors, that reduces the impact of large files in your repository by downloading the relevant versions of them lazily. Specifically, large files are downloaded during the checkout process rather than during cloning or fetching. (출처 : bitbucket)

https://www.atlassian.com/git/tutorials/git-lfs

 

Git LFS - large file storage | Atlassian Git Tutorial

Git LFS is a Git extension that improves handling of large files by lazily downloading the needed versions during checkout, rather than during clone/fetch.

www.atlassian.com