Артефактура способствовала сохранению сборки - PullRequest
1 голос
/ 25 апреля 2019

Моя команда недавно начала использовать интерактивную функцию продвижения плагина Jenkins Artifactory, чтобы начать с build-output до qa-ready. Я включил наш скрипт загрузки внизу для справки. Это был простой и очень эффективный способ управления процессом продвижения. Мы все еще новичок в Artifactory в целом.

Мы используем политики хранения сборок, которые работают на build-output, как и ожидалось. Тем не менее, сборки, получившие повышение до qa-ready, не имеют политик хранения сборок один раз в qa-ready, поэтому они просто накапливаются, пока кто-то не удалит их вручную. Согласно документации, прямой команды через команду addInteractivePromotion нет, но есть ли другой способ реализации политики хранения сборок для продвинутых сборок в их новом расположении?

Мы используем Artifactory Pro 6.5.3.

void uploadToArtifactory(String fileFullPath) {
    //build retention
    def buildInfo = Artifactory.newBuildInfo()
    buildInfo.retention maxBuilds: 5, deleteBuildArtifacts: true

    def artifactory_server = Artifactory.server 'artifactory'
    def upload_spec = """{
        "files":[
            {
                "pattern": \"""" + fileFullPath + """\",
                "target": \"build-output/${ProductVersion}/\",
                "regexp": "true"
            }
        ]
    }"""
    def promotion_config = [
        'buildName': buildInfo.name,
        'buildNumber': buildInfo.number,
        'targetRepo': 'qa-ready'
    ]

    Artifactory.addInteractivePromotion(server: artifactory_server, promotionConfig: promotion_config)
    artifactory_server.upload(upload_spec, buildInfo)
    artifactory_server.publishBuildInfo(buildInfo)
}

1 Ответ

0 голосов
/ 26 апреля 2019

Я также сталкивался с подобной проблемой. Мы использовали Дженкинс для загрузки в артефакт.

Сохранение артефактов игнорирует / отбрасывает все сборки, которые были продвинуты с использованием API.

Это может быть видно в журналах. Я не думаю, что в политике отмены сборки есть какая-то опция для установки статуса продвижения, которое будет рассматриваться как кандидат на удаление

Я написал скрипт на python, который, в свою очередь, использует aql для вывода списка всех репозиториев на основе регулярных выражений, игнорирующих выпущенные артефакты, и вы можете установить удаление на основе no. дней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...