Для тех, кто находит этот вопрос, я слышал, что настройки сохранения сборки работают только в профессиональной версии Artifactory.Я не проверял, чтобы он не работал бесплатно, но я проверял следующие работы jenkinsfile, как и ожидалось при использовании с Pro Artifactory:
node {
// Obtain an Artifactory server instance, defined in Jenkins --> Manage:
def server = Artifactory.server SERVER_ID
def buildInfo = Artifactory.newBuildInfo()
stage ('Collect env vars') {
// By default the filter is configured to exclude "*password*,*secret*,*key*"
buildInfo.env.filter.addInclude("*")
buildInfo.env.filter.addExclude("DONT_COLLECT*")
withEnv(['DO_COLLECT_FOO=BAR', 'DONT_COLLECT_FOO=BAR']) {
buildInfo.env.collect()
}
}
stage ('Access build info env vars') {
echo buildInfo.env.vars['DO_COLLECT_FOO'] //BAR
echo buildInfo.env.vars['DONT_COLLECT_FOO'] //null
}
stage ('Set build retention') {
buildInfo.retention maxBuilds: 1, maxDays: 2, doNotDiscardBuilds: ["3"], deleteBuildArtifacts: true
}
stage ('Publish build info') {
server.publishBuildInfo buildInfo
}
}
Это со страницы примеров JFrog github
Еще один важный момент заключается в том, что эти правила хранения, по-видимому, относятся к метаданным (json-файлам, которые хранятся в artifactory-build-info ), а не к артефактам сборки.
Может также стоить проверить, что пользователь, настроенный в плагине Artifactory, имеет достаточные разрешения в Artifactory для выполнения очистки.Это можно сделать в Artifactory, выбрав: Artifacts -> Artifactory Repository Browser -> artifactory-build-info -> Effective Permissions