HAM MEDIA MEMO

Gitlab CI の clone でエラー

remote: Counting objects: 30000, done.
remote: Compressing objects: 100% (20000/20000), done.
fatal: The remote end hung up unexpectedly.70 MiB | 30.01 MiB/s
fatal: early EOF
fatal: index-pack failed

数値は少しブログ掲載ようにいじっていますが、だいたいこんな感じの数値です。

ちなみに Gitlab CI が clone する際に叩いていたコマンドが下記

cd /home/gitlab_ci_runner/gitlab-ci-runner/tmp/builds && git clone http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@gitlab.mydomain.com/gitlab/project_name.git project-1 && cd project-1 && git checkout xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxx の部分は英数字が入っているのですが、ブログ掲載用に代用。

どうやら gitlab-ci-token 経由でリポジトリにアクセスした際に、リポジトリのファイル数が多いと、エラーになってしまう様子。

サーバー内で一度 clone してから CI に

どうやら gitlab-ci-token 経由でリポジトリにアクセスした際にエラーになるというのは、 gitlab-ci-token を経由せずに、手動コマンドで git clone をした場合はエラーにならないのです。

手動で行う場合は問題無いようでしたので、そのままそれは残しておき、 .git/config で remote 先を編集、http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@gitlab.mydomain.com/gitlab/project_name.git に変更をしておきます。

すると、次のCIが動くタイミングで問題がなくなっていました。

Gitでエラーすると焦りますよね。

なんとかなってよかったよかった。