On Wednesday, March 1, 2017 at 4:08:53 AM UTC-5, Baptiste Mathus wrote:
I don't think there's something per branch, but you probably want to either search JIRA and/or file a new feature request about it.
You shouldn't need a special plugin, this is a standard feature. Here's the way to do it with Declarative Pipeline:
pipeline {
options {
buildDiscarder(logRotator(numToKeepStr: '20'))
}
...
}
I'm stil not seeing any signs that the buildDiscarder plugin is working for me. At the top of my Jenkinsfile, I have this:
properties([[
$class: 'jenkins.model.BuildDiscarderProperty',
strategy: [$class: 'LogRotator', numToKeepStr: '50', artifactNumToKeepStr: '50']
]])
That's just above my "node {}" block.
From reading related source code at:
I can see that this function should generate some logging, but I can't find the log entries indicating this is running in either the web-based Jenkins log page, or under /var/log/jenkins/*
The effective-but-imperfect workaround I've found is to just manually delete only builds:
find "/var/lib/jenkins/jobs/My Pipeline/branches/" -mindepth 3 -maxdepth 3 -type d -ctime +15 | xargs -d '\n' rm -rfThat doesn't have the safety nets of preserving any builds that are last-successful, promoted, etc.
Some questions:
* Should the logging I see in the source code *always* be happening or there something I need to do activate that logging?
* Should properties() call work outside a node block?
* Are there any serious drawbacks to just manually deleting old build myself? This built-in log rotation has proven especially time-consuming for what seems like it should be a simple feature to setup.
Thanks,
Mark