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'))
}
...
}
daysToKeepStr
:歴史は今日までしか保持されていません。numToKeepStr
:この数のビルドログのみが保持されます。artifactDaysToKeepStr
:遺物は今日までしか保管されていません。artifactNumToKeepStr
:この数のビルドのみがアーティファクトを保持します。詳細については、Cloudbeesナレッジベースおよびブロックのドキュメントを参照してください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
のジョブレベルに対して)、これも可能です:https:
//issues.jenkins-ci.org/browse/JENKINS-30519?focusedCommentId = 325601&page = com .atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-325601
に加えて、ここでBuildRetentionBranchProperty
他のを構成できます*BranchProperty
:https:
//github.com/jenkinsci/branch-api-plugin/tree/master/src/main/java/jenkins/branch
ただし、少なくともJenkins 2.73.2の場合は、GUIに表示されない可能性があります。ただし、JobDSLを使用することも、config.xml
直接変更することもできます(私はそうは言いませんでした;-))