Jenkinsのページ読み込みが遅い
- 仕事で多くのJOBを作成しているのですが、結果としてJOB数がえぐい
- 半年前ぐらいからlogin時にページ読み込みが極端に遅くなった
原因はお天気かも
いろいろありますが、JOB数が多くなってから遅くなった場合はお天気のせいかもしれません。
お天気とは
- Health Metricsのことです
- JOBの成功率を天気で表現してくれます
- 便利なのですが、JOBの成功率計算のためにアクセスページ以下のJOBを再帰的にみます
解決方法
- 天気の再帰設定を無効化します
実行環境
- jenkins2.0
- CloudBees Folders Plugin
- JOBはgroovyファイルでDSLで管理しています
GUIでやる
- JOBが作成されているFolderのconfigureを開く
- Health Metricsの欄を開き、Worst Child Health Metricのオプションにかかれている
Recursive
のチェックを外す。 - 設定を保存するとページ開くのが早くなっている
groovy DSLで設定する
-
DSL Pluginで使用できる、専用の設定値がありません。
-
なのでjob のconfig.xmlを直接設定するオプションを使用します
-
folder pluginの configureオプションを使うと、xmlを直接いじった設定ができます
-
参考にしたページ
- https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.DslFactory.folder
- https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.Folder.configure
- GUIで設定したJenkinsFolderのURLのxmlを見る
{FolderURL}/config.xml
-
結果、こんな感じになります
folder("${jobPathString}"){
description('disable_recursive_health_Metrics_directory')
configure { folder ->
folder / 'healthMetrics' / 'com.cloudbees.hudson.plugins.folder.health.WorstChildHealthMetric' {
'nonRecursive'(true)
}
}
}
まとめ
- 最近Jenkinsのページ読み込みが遅い、、という方は一度お試しあれ