LoginSignup
0
1

More than 5 years have passed since last update.

Jenkinsのエラー対応

Posted at

Jenkinsの管理画面で発生したエラーの対応

ディスク容量エラー

いつもどおりJenkinsの画面を開くと、以下のエラーが表示されていました
「java.io.IOException: No space left on device」

ログインボタンも表示していなかったので、jenkins構築環境にログインして原因を調べました。

  • 調べた結果以下の2通りで発生することが判明
    • ディスク容量不足
    • inode不足

とりあえず、ディスク使用量を確認

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
~
/dev/sda1        30G   30G  2.3M 100% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sdb1       7.8G   18M  7.4G   1% /mnt
tmpfs           395M     0  395M   0% /run/user/1000

ビンゴです。100%になってました。

Jenkinsのルートディレクトリへ移動してディレクトリごとの容量を確認

$ cd /var/lib/jenkins
$ du -sh ./*
~
5.0G    ./workspace

workspaceで多く利用してました。
原因はジョブでGitを利用したことによる対応で、すごく大きな容量のリポジトリをcloneしていたために急激に容量不足となってしまいました。

念の為、inodeも確認

$ df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
~
/dev/sda1      3840000 566748 3273252   15% /
tmpfs           505072      1  505071    1% /dev/shm
tmpfs           505072      3  505069    1% /run/lock
tmpfs           505072     17  505055    1% /sys/fs/cgroup
/dev/sdb1       524288     12  524276    1% /mnt
tmpfs           505072      4  505068    1% /run/user/1000

こちらは使用率15%なので問題ありませんでした。
ビルド結果を削除しないと、ログがたまっていってしまいinode不足により同様のエラーが発生することがあるみたいなので、ジョブの設定でビルドの保持期間はきちんと設定しておきましょう。

不要なファイルやディレクトリを削除して、Jenkinsを再起動したら問題なく動きました。
その際にブラウザからの再起動ではエラー画面が解決しませんでした。

http://domain:port/safeRestart

なので、コマンドから再起動で通常の画面が表示されました。

$ sudo /etc/init.d/jenkins restart

タイムアウトエラー

ジョブを実行していると、コンソール画面が以下の表示となりエラーとなってしまいました。

ERROR: Timeout after 10 minutes
ERROR: Error cloning remote repo 'origin'
hudson.plugins.git.GitException: Command "git fetch --tags --progress giturl +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout: 

Gitのプラグイン実行時に10分のタイムアウトエラーのような表示。
jenkinsの環境のワークスペースを確認してみました。

$ ls -a /var/lib/jenkins/workspace/ジョブ名
.git

.gitだけありました。
Gitのリポジトリが大きくて、cloneで10分以上立ってしまっていた可能性がったので、
対象のリポジトリをworkspaceにcloneしました

$ cd /var/lib/jenkins/workspace/ジョブ名
$ git clone giturl .

jenkins上でもタイムアウトの設定を10分から変更できるみたいです。

cloneが完了後は問題なくジョブが実行できました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1