groovy 구문 생성기가 샘플 단계에서 작동하지 않습니다 properties: Set Job Properties
. 필드 Discard old builds
를 선택 하고 입력 10
했는데 아무것도 표시되지 않습니다.Max # of builds to keep
Generate Groovy
Jenkins 버전 : 2.7
답변:
선언적 구문의 경우 options
블록을 사용할 수 있습니다 .
pipeline {
options {
buildDiscarder(logRotator(numToKeepStr: '30', artifactNumToKeepStr: '30'))
}
...
}
logRotator
( 소스 코드에서 )에 대한 매개 변수 :
daysToKeepStr
: 역사는 오늘날까지만 유지됩니다.numToKeepStr
:이 수의 빌드 로그 만 유지됩니다.artifactDaysToKeepStr
: 유물은 현재까지만 보관됩니다.artifactNumToKeepStr
:이 빌드 수에만 아티팩트가 유지됩니다.자세한 내용은 Cloudbees 지식 기반 과 block 문서options
에서 찾을 수 있습니다 .
numToKeepStr
이며 운 좋게도 다른 매개 변수를 찾기 위해 여기에서 귀하의 응답을 찾았습니다. 그들이 문서화하는 방식이 엉망입니다. 생명의 은인이지만 감사합니다.
결국에는 설정하려는 키가 있는 properties
메서드를 사용할 수 있습니다 BuildDiscarderProperty
. 여전히 각 키의 올바른 구문을 찾는 확실한 방법이 없습니다. 많은 추측과 확인 후 :
properties([[$class: 'BuildDiscarderProperty', strategy: [$class: 'LogRotator', artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '', numToKeepStr: '10']]]);
이 스 니펫은 스크립트 구문을위한 것입니다.
*Str
필드 의 의미를 설명하십시오 strategy
. 물고기 사람 ... 등을 가르쳐
스크립팅 된 파이프 라인의 경우 다음을 사용합니다.
properties([
buildDiscarder(logRotator(daysToKeepStr: '3', numToKeepStr: '3')),
])
특정 일수 이후 빌드를 취소하려면 :
options {
buildDiscarder(logRotator(daysToKeepStr: '7'))
}
특정 수의 빌드 후 빌드를 취소하려면 다음을 수행하십시오.
options {
buildDiscarder(logRotator(numToKeepStr: '7'))
}
선언적 파이프 라인의 경우 다음을 추가 할 수 있습니다.
options {
buildDiscarder(
logRotator(
// number of build logs to keep
numToKeepStr:'5',
// history to keep in days
daysToKeepStr: '15',
// artifacts are kept for days
artifactDaysToKeepStr: '15',
// number of builds have their artifacts kept
artifactNumToKeepStr: '5'
)
)
}
jenkins-base-url:port if any/pipeline-syntax/
. 여기에 또 다른 javadoc.jenkins.io/hudson/tasks/LogRotator.html도 있습니다. 또한 플러그인의 github 소스 코드를 자세히 살펴보고 자세히 이해합니다. @silencej
다중 브랜치 파이프 라인 작업 수준 (모든 개별 Jenkinsfile
s의 경우) 에서 빌드 보존을 구성하려는 경우 에도 가능합니다.
https://issues.jenkins-ci.org/browse/JENKINS-30519?focusedCommentId=325601&page=com .atlassian.jira.plugin.system.issuetabpanels : comment-tabpanel # comment-325601
이외에도 https://github.com/jenkinsci/branch-api-plugin/tree/master/src/main/java/jenkins/branch 에서 BuildRetentionBranchProperty
다른 *BranchProperty
s를 구성 할 수 있습니다.
적어도 Jenkins 2.73.2를 사용하는 경우 GUI에 표시되지 않을 수 있습니다. 그러나 여전히 JobDSL을 사용하거나 config.xml
직접 수정할 수 있습니다 (나는 ;-))