Генератор синтаксиса groovy НЕ работает на этапе выборки properties: Set Job Properties
. Я выбрал, Discard old builds
а затем ввел 10
в Max # of builds to keep
поле, Generate Groovy
но ничего не отображается.
Версия Дженкинса: 2.7
jenkins
jenkins-pipeline
тарабайт
источник
источник
Ответы:
Что касается декларативного синтаксиса, вы можете использовать
options
блок:Параметры для
logRotator
(из исходного кода ):daysToKeepStr
: история ведется только до наших дней.numToKeepStr
: сохраняется только это количество журналов сборки.artifactDaysToKeepStr
: Артефакты хранятся только по сей день.artifactNumToKeepStr
: артефакты сохраняются только в этом количестве сборок.Дополнительную информацию можно найти в базе знаний Cloudbees и в документации для
options
блока .источник
numToKeepStr
и, к счастью, я нашел здесь ваш ответ, чтобы найти другие параметры. Какой-то беспорядок, как они все документируют. Спасибо, хотя ты спасатель.Вы можете использовать
properties
метод, который вBuildDiscarderProperty
конечном итоге содержит ключ, который вы хотите установить. У меня до сих пор нет надежного способа найти правильный синтаксис каждого ключа. После долгих догадок и проверок:Обратите внимание, что этот фрагмент предназначен для синтаксиса сценария.
источник
*Str
поля вstrategy
. Научи человека ловить рыбу ... и т. Д.Jenkins имеет встроенные страницы генератора синтаксиса.
Синтаксис конвейера: генератор фрагментов
<your jenkins url
> / pipeline-syntax /Синтаксис конвейера: Генератор директив
<your jenkins url
> / directive-generator /Discard old builds
пример из генератора директивисточник
Для скриптовых конвейеров используйте:
источник
Чтобы отменить сборку через определенное количество дней :
Чтобы отменить сборку после определенного количества сборок :
источник
Ответ Вадима у меня не сработал по неизвестной причине. Я упростил его следующим образом, и теперь он работает:
источник
Для декларативного конвейера вы можете добавить это:
источник
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. Но вы все равно можете использовать JobDSL или
config.xml
напрямую изменять (я этого не говорил ;-))источник
Если вам нужен программный способ (например, выполнение этого из функции, а не с использованием
options{}
синтаксиса конвейера):источник