🤯
突然 Jenkins がビルド・起動できなくなった時の対処法
発生した不具合
突然 Jenkins のビルドやプロセスの起動ができなくなりました。
特に Jenkins に変更は加えておらず、心当たりがない状況でした。
エラー内容
ビルドログを確認すると、
java.nio.file.FileSystemException: /var/lib/jenkins/jobs/{ ジョブ名 }: No space left on device
と書かれていました。
原因
ビルドのログファイルが膨大に生成されてしまったことで i ノードが枯渇し、上限値に達してしまったのが原因でした。
実行頻度が高いビルドがあるとログがハイペースで蓄積されてしまい、簡単に i ノードの上限に達してしまいます。
i ノードが枯渇してしまうと新たにファイルが作れなくなってしまうため、ビルドや Jenkins の起動ができなくなったとう流れでした。
ディスク自体に空きはあったのですが、実行頻度が高い & ログファイルを削除していなかったのが要因です。
対処法
新しくジョブを作成する際は、設定 > General
の 「古いビルドの破棄」に必ずチェックを入れる ようにしましょう。
破棄する基準などは要件によると思いますが、私は「ビルドの保存最大数」を 200
に設定しました。
ちなみに、「古いビルドの破棄」 は後から設定しても、設定後にビルドを実行したタイミングで消してくれます。
Discussion