問題点
Muitibranch Pipeline のプロジェクトを利用すると、ブランチごとにジョブが作成される。
このとき、デフォルトだと、各ブランチごとの成果物の保存数は上限がない。 そのため、成果物がどんどん溜まってしまい、ディスクフルを起こす可能性がある。
解決方法
各ブランチごとの成果物の保存数を指定するには、Jenkinsfile内で以下のように指定する。 (Scripted Pipeline, Jenkins 2.60.3で動作確認)
node {
properties([[$class: 'BuildDiscarderProperty',
strategy: [$class: 'LogRotator',
numToKeepStr: '5', artifactNumToKeepStr: '5']
]])
print "build..."
}
すると、成果物の保存数の上限を超えたものは削除される。
ハマりポイント
Muitlbranch Pipelineの「設定」で「古いアイテムを削除」という項目がある。 が、これは「不要になったブランチを指定した保存数だけ残す」という意味であるため、注意。
試しに実施してみると、
task4ブランチを削除すると、不要になったブランチとして打消し線が入る。
もうひとつブランチを削除すると、保存数を超えるので削除される。