gitlab-ci(gitlab-runner)で、「fatal: missing blob object 〜error: remote did not send all necessary objects」とジョブが失敗してしまう。
先程まで動いていた、gitlab-runnerが、下記エラーで動かなくなってしまった。。
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /tmp/builds/〜
fatal: missing blob object 'b80eee3b3c630cef3XXXXXXXX'
error: remote did not send all necessary objects
ERROR: Job failed: exit status 1
ようするに、gitlab-runner install時に、指定したディレクトリにキャッシュファイルを作っているようなのですが、
これが何かが原因で壊れてしまい毎回エラーになっていました。
ググっても情報が見つからなかったので念の為メモ。
gitlab-runnerをインストールした時に指定したディレクトリに、
ビルドに必要な作業ディレクトリのようなものを作っていたのを思い出した。
gitlab-runnerをサーバーにインストールした時
$ sudo gitlab-runner install -u execuser -d /tmp/
インストール時に作られた設定ファイルにも記載が。
$ sudo vim /etc/systemd/system/gitlab-runner.service
[Unit]
Description=GitLab Runner
After=syslog.target network.target
ConditionFileIsExecutable=/usr/lib/gitlab-runner/gitlab-runner
[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/usr/lib/gitlab-runner/gitlab-runner "run" "--working-directory" "/tmp/" "--config" "/etc/gitlab-runner/config.toml" "--service" "gitlab-runner" "--syslog" "--user" "execuser"
それで、その対象のディレクトリを削除してみると。。(※削除コマンドなので扱い注意)
$rm -r /tmp/builds/
ジョブを再度走らせてみると。。!
成功!!!
対象ディレクトリを削除する事で、無事ジョブが走るようになりました。
また、他の方法としてgitlab-runnerを再度gitlab-runner register
などで作り直しても改善されました。
(working-directory削除の方が楽かな。)
Author And Source
この問題について(gitlab-ci(gitlab-runner)で、「fatal: missing blob object 〜error: remote did not send all necessary objects」とジョブが失敗してしまう。), 我々は、より多くの情報をここで見つけました https://qiita.com/matsuyoro/items/f5f4afa1824d9d7172c5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .