Клонируйте удаленный репозиторий maven в локальный репозиторий в artifactory

#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>
 

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