Моя команда недавно начала использовать интерактивную функцию продвижения плагина 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)
}