jenkins_logo


さくらVPSにJenkinsを入れて、Selenium + php-webdriverを動かせるようにするでVPSサーバを借りてJenkins用のサーバを組み立ててみた。


継続的インテグレーションに従い、細かい機能追加の度にGitでコミットを行うことで、

機能追加により以前の機能が動作しないといった致命的な不具合の心配がなくなった。

継続的インテグレーション - Wikipedia


一人で開発している身として、Jenkinsが相棒のように感じられるようになったわけだけど、

ビルドの実施数が400を越えたあたりから、

今まで失敗していなかったようなところの失敗が目立つようになってきたし、


jenkins_home


Jenkinsのコンソールの動きがもっさりと遅くなってきた。

どうしたのだろう?と調べてみたところ、

ビルドのログを残しておく設定だと上記のような意味不明な失敗が発生しやすくなるらしい。


というわけで、

Jenkinsのログについて調べてみた。




はじめにJenkinsをインストールしたサーバにログインし、ログのディレクトリを探す。


Jenkinsのビルドのログは

/var/lib/jenkins/jobs/プロジェクト名/builds/

buildsディレクトリ以下に

480(ビルド番号)
├── build.xml
├── changelog.xml
├── log
└── polling.log

このようにログが溜まるらしい。

※Jenkinsのインストールディレクトリを標準の/var/lib/以下にした場合の話です


試しにbuildsディレクトリ以下の数字のディレクトリを最新のもの以外すべてを削除してみたら、


jenkins_home


Jenkinsの動きが爽快になった。




ビルドのログの問題をどうにかしたいとかんがえたところ、

JenkinsのプラグインでDiscard Old Build pluginというものがあったので試してみた。

Jenkinsのプラグイン「Discard Old Build plugin」を公開しました!│ソフトウェアテストラボ|アプリテスト|スマートフォンテスト|株式会社SHIFT


Jenkinsの管理にあるプラグインの管理でDiscard Old Build pluginをインストールし、Jenkinsを再起動。

プロジェクト毎の設定の画面にあるビルド後の処理の項目で、


jenkins_discard_config


Discard Old Buildsを選択し、


jenkins_discard_config1


Usageの記載を参考に設定してみる。

とりあえず、Max # of builds to keepを10にして、ビルドログを10個残す設定にした。

これで数日試してみる。