#maven #gradle #artifactory
Вопрос:
сегодня я столкнулся со следующей ситуацией:
- Опубликуйте артефакт с версией, отличной от моментального снимка, в репозитории artifactory maven
- Когда я публикую его снова с помощью плагина maven-publish gradle, он возвращает мне 403, что нормально, но
- Когда я публикую тот же артефакт в том же репозитории с помощью
id("com.jfrog.artifactory") version "4.24.20"
плагина gradle, он перезаписывает артефакт (и я вижу время последнего изменения для него).
Разрешения пользователя для этого репозитория являются
- Читать
- Аннотировать
- Развертывание/Кэширование
Я что-то упускаю, или это действительно не должно так работать?
Комментарии:
1. Можете ли вы проверить, есть ли у пользователя какие-либо другие разрешения, перейдя на страницу пользователя и проверив разрешения на ней?
Ответ №1:
Кажется, из-за известной проблемы RTFACT-26398, где плагин использует тот же вызов rest.
Ответ №2:
Добавление к ответу @sankar-dunga:
Плагин использует механизм развертывания контрольной суммы. Эта функция позволяет ускорить загрузку, пропуская загрузку файлов, которые уже существуют в Artifactory. Артефакт на самом деле не переопределяется, меняется только его метка времени — вы не можете изменить или удалить артефакт без разрешений на перезапись/удаление.
Если вы хотите отключить эту функцию, вы можете установить minChecksumDeploySizeKb
значение 0:
artifactoryPublish {
clientConfig.publisher.minChecksumDeploySizeKb = 0
}
Для получения дополнительной информации: