LoginSignup
1
3

More than 5 years have passed since last update.

Jenkinsでメモリリークを回避する例

Last updated at Posted at 2017-07-19

以前Jenkins2のPipeline(旧Workflow Plugin)で作られたジョブをテストで何百回も回すテストに出会ったことがありました。その際ビルドを繰り返すたびに使用メモリが増えてメモリリークしJenkinsの応答がなくなるという現象に出会いました。(Pipeline自体にメモリリークの原因があったはず)このときにテストが終わるまでにJenkinsの応答が無くならないように対応した例を記載しておきます。

使用したPlugin

回避方法

  • jenkinsが起動されたら実行される再起動確認用ジョブを作成する(中身は空でも良いです)
  • テストの中で定期的にMonitoringのAPIからメモリ使用率を取得する
  • 閾値を超えたら現在の再起動確認用ジョブのAPIから現在のビルド番号を取得しておき、safeRestartでjenkinsの再起動を行う
  • 再起動を実行したら再起動確認用ジョブのAPIから現在のビルド番号を取得して(jenkinsが停止している間があるので何回か繰り返して取得する)直前に取得しておいたビルド番号と比較して異なっていたら再起動が成功したという認識でテストを先に進める
1
3
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
1
3