Я пытаюсь отфильтровать артефакты, которые публикуются в Artifactory, и сталкиваюсь с двумя проблемами:
1) Включение / исключение фильтрации не работает для меня, как ожидалось.
2) Я не нашел способа настроить его для исключения неопубликованных артефактов из buildinfo.
1) Соответствующий раздел моего jenkinsfile выглядит так:
def now = new Date()
def changelist = now.format("yyyyMMddHHmm", TimeZone.getTimeZone('US/Central'))
def server = Artifactory.server env.ARTIFACTORY_SERVER_ID
server.credentialsId = 'creds-artifactory'
def rtMaven = Artifactory.newMavenBuild()
rtMaven.resolver server: server, releaseRepo: 'releases-repo', snapshotRepo: 'snapshots-repo'
rtMaven.deployer server: server, releaseRepo: 'candidates-repo', snapshotRepo: 'snapshots-repo'
rtMaven.deployer.artifactDeploymentPatterns.addInclude("myGroupId:myDistArtifactId*")
buildInfo = rtMaven.run pom: 'pom.xml', goals: "clean install -B -Dchangelist=.${changelist}".toString()
server.publishBuildInfo buildInfo
Я также пытался исключить без блокировки. Единственный способ заставить это работать - создать простой фильтр, например exclude "* .zip". Но не нашли другого способа заставить его работать на основе artifactId. Что мне не хватает? На основании документов я видел, что это должно работать.
2) Другая проблема заключается в том, что исключенные артефакты (метаданные) по-прежнему публикуются, поскольку они находятся в моем buildInfo, но в Artifactory они отображаются как удаленные (то есть не присоединенные двоичные файлы). Есть ли способ обновить buildInfo и удалить исключенные артефакты?