Я использую плагин Jenkins-Artifactory для развертывания файла JAR в репозитории в Artifactory. Используемый инструмент сборки является gradle. Похоже, что этот процесс не поддерживает несколько версий артефакта jar с метками времени.
Хранилище использует макет «gradle-default».
Поведение версии снимка Maven было установлено как «Уникальный».
Максимальное количество уникальных снимков установлено на 30.
Я использую rtUpload и rtPublishBuildInfo для загрузки jar и соответствующей информации о сборке в Artifactory.
Я вижу несколько версий buildinfo в репозитории 'artifactory-build-info' в формате BUILDNUMBER_TIMESTAMP.json
Однако jar приложения каждый раз перезаписывается с именем appname-VERSION.jar, поэтому в репо сохраняется только последняя версия.
Я попытался изменить поведение версии снимка Maven на «Неуникальный» и добавить «SNAPSHOT» в строку версии. Это не решило проблему
код конвейера для загрузки артефактов
// upload build artifacts to artifact repository
stage('publish to artifactory') {
steps {
rtUpload (
serverId: "ARTIFACTORY_SERVER_ID",
spec:
"""{
"files": [
{
"pattern": "kotlin-source/build/libs/appname-*.jar",
"target": "gradle-dev-local"
}
]
}""",
failNoOp: true,
)
}
}
stage ('Publish build info') {
steps {
rtPublishBuildInfo (
serverId: "ARTIFACTORY_SERVER_ID",
)
}
}
ожидается, что в репозитории будет присутствовать несколько артефактов с добавленной к имени меткой времени.
Под репо видна только одна банка.
После публикации артефакта существующая банка в репо перемещается в мусорную корзину