RPM Remote Repository - пакет не соответствует предполагаемой загрузке - PullRequest
0 голосов
/ 16 января 2019

Мы используем удаленный репозиторий и храним артефакты локально. Однако мы сталкиваемся с проблемой из-за того, что удаленный репозиторий регулярно перестраивает все артефакты, которые он содержит. В текущем состоянии мы обновляем метаданные (например, repodata / repomd.xml ), но артефакты не обновляются.

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

Можно ли каким-либо образом настроить артефакт, чтобы он мог повторно создавать новые артефакты, а также новые метаданные артефакта?

В нашем текущем состоянии мы регулярно сталкиваемся с ошибкой

https://artifactory/artifactory/remote-repo/some/path/package.rpm:
[Errno -1] Package does not match intended download. 
Suggestion: run yum --enablerepo=artifactory-newrelic_infra-agent clean metadata

1 Ответ

0 голосов
/ 18 января 2019

К сожалению, нет хорошего ответа на это. Артефакты по версии должны быть неизменными; это управление зависимостями 101.

Я бы приложил как можно больше усилий, чтобы убедить команду, производящую артефакты, прекратить отмену версий. Это правда, что иногда может быть неудобно изменять версии зависимостей в метаданных, но есть способы обойти это (например, разрешение последнего патча во время разработки, как это поддерживается в спецификации semver), и в любом случае, это не очень хорошее оправдание.

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

Другим решением может быть очистка кэша с использованием пользовательского плагина или сценария с использованием JFrog CLI после того, как вы узнаете о новых артефактах, опубликованных в удаленном хранилище.

...