Развертывание Milestone-Artifacts с использованием плагина Artifactory-Jenkins

У нас есть конвейер Jenkins с этапом релиза, очень похожим на этот

stage ('Artifactory Release') {

    def server = Artifactory.server 'artifactoryServer'
    def rtMaven = Artifactory.newMavenBuild()
    def buildInfo = Artifactory.newBuildInfo()

    rtMaven.tool = "Maven 3.3.9"
    rtMaven.deployer releaseRepo: 'libs-release-local', snapshotRepo: 'libs-snapshot-local', server: server
    rtMaven.resolver releaseRepo: 'libs-release', snapshotRepo: 'libs-snapshot', server: server


    def relDescriptor = Artifactory.mavenDescriptor()
    relDescriptor.version = releaseVersion
    relDescriptor.failOnSnapshot = true
    relDescriptor.transform()
    rtMaven.run pom: 'pom.xml', goals: 'clean install -P release', buildInfo: buildInfo
   }
}

Он заменяет все версии SNAPSHOT на releaseVersion и выполняет проверку зависимостей SNAPSHOT перед созданием и развертыванием артефактов в репозитории выпуска артефакта. Все идет нормально.

Теперь у нас есть ночные вехи, то есть мы создаем веху для каждого артефакта (1.2.3-Myyyymmdd) и выполняем проверку зависимостей моментального снимка.

При вышеупомянутом подходе эти вехи будут развернуты в репозитории релизов, но мы не хотим этого, тем более что эти артефакты вехи устаревают через пару дней или недель и размер хранилища артефактов будет слишком быстро расти.

Итак, что будет лучшим подходом для достижения вех в этом выпуске?

  • Есть ли способ заставить плагин артефактов использовать хранилище снимков вместо репозитория релизов?
  • использовать другой репозиторий "release" и стадию от вехи до репозитория prod?
  • Есть ли способ определить политику хранения в репозитории выпусков для конкретных (= вехой) артефактов?
  • другие идеи?

0 ответов

Другие вопросы по тегам