#maven #artifactory #jfrog
Вопрос:
Я пытаюсь клонировать удаленный репозиторий https://maven.forgerock.org/repo/forgerock-virtual в локальное хранилище maven, созданное в моем JFrog Artifactory. Единственные параметры для импорта-это импорт из файловой системы. Я не уверен, как клонировать весь удаленный репозиторий в локальный репозиторий, подобный этому?
Кроме того, если я сначала клонирую удаленное репозиторий в файловую систему, а затем импортирую в локальный репозиторий, это займет много времени и будет недостаточно эффективным. Пожалуйста, помогите
Комментарии:
1. Чтобы клонировать, вы должны сначала загрузить все артефакты и кэшировать их в удаленном хранилище кэша, а затем переместить/скопировать в локальное хранилище. Кроме этого подхода, я не вижу другого способа сделать это.
2. @Muhammed Как кэшировать все артефакты из удаленного хранилища? Кроме того, как я могу скопировать данные из удаленного репозитория в локальный репозиторий?
3. сначала вы должны создать удаленный репозиторий maven, указывающий на maven.forgerock.org/repo/forgerock-virtual и тогда будут созданы репо. Предположим, вы дали имя удаленному репо как forgerock, тогда будет доступно другое репо под названием forgerock-кэш. После создания удаленного репо forgerock используйте » art_url/artifactory/forgerock » и загрузите все артефакты. Загруженные файлы будут доступны в разделе репо с кэшированием forgerock, и оттуда вы можете скопировать их в локальное репо, щелкнув правой кнопкой мыши на кеше forgerock и выбрав копировать, а в целевом репо укажите локальное репо
Ответ №1:
Клонирование удаленного репозитория — вообще не очень хорошая идея. У вас уже настроен менеджер двоичных репозиториев. Настройте в своем искусственном:
- «общедоступная» группа репозиториев
- доверенное лицо Maven Central, как
central
- включите «центральный» прокси-сервер в
public
группу - добавьте прокси-серверы в любые другие внешние репозитории в общедоступную группу, как описано
central
выше, в любое время, когда потребуется, настройте свой Maven settings.xml для зеркального отображения Maven Central и перенаправления наpublic
группу в вашем устройстве.
Например, в settings.xml может содержать (пример с Nexus):
<mirrors>
<mirror>
<id>public-local</id>
<mirrorOf>central</mirrorOf>
<name>Let the default Maven Central repository is resolved in the local Nexus' public repository</name>
<url>http://localhost:8081/repository/public/</url>
</mirror>
</mirrors>
Это позволяет вашей мастерской загружать и кэшировать локально все и только те артефакты, которые вы фактически используете. Нет необходимости загружать их вручную.