Как вручную развернуть артефакты в Nexus Repository Manager OSS 3

После установки Nexus Repository Manager OSS 3 я не вижу опции Artifact Upload для загрузки артефактов через веб-страницу.

В Nexus Repository Manager OSS 2.13 есть возможность выполнить эту операцию.

Кто-нибудь может показать мне, как загружать артефакты в размещенный репозиторий в Nexus 3?

РЕДАКТИРОВАТЬ: Начиная с версии 3.9.0, эта функция реализована.


person Paweł Głowacz    schedule 31.05.2016    source источник
comment
В своем ответе здесь я объяснил оба подхода - для http и https.   -  person grajsek    schedule 19.10.2016
comment
зачем им упускать эту важную часть функциональности?   -  person Kees de Kooter    schedule 15.12.2016
comment
Поскольку графический интерфейс загрузки по-прежнему не является частью Nexus 3, мы создали облегченное решение для обеспечения отсутствующего интерфейса. Вы можете разместить html-страницу в необработанном репозитории вашего экземпляра Nexus3, и когда вы обращаетесь к этой странице из браузера, он предоставит графический интерфейс загрузки, аналогичный тому, что есть в Nexus2. Проект можно найти на GitHub с подробной документацией. Выпущенная на момент ответа версия поддерживает стиль GAV и необработанные загрузки.   -  person István Rábel    schedule 31.05.2017


Ответы (8)


Это реализовано в Nexus, начиная с версии 3.9.0.

  • Авторизоваться
  • Выберите Загрузить

введите описание изображения здесь

  • Заполните форму и загрузите Артефакт

введите описание изображения здесь

person Tobias Rath    schedule 08.03.2018
comment
У нас была установлена ​​версия 3.7, и в матрице функций говорилось, что она должна существовать (текущая версия - 3.10). Я сходил с ума, пытаясь понять, как это было реализовано. Этот ответ был очень полезным. Если бы я мог, я бы проголосовал за вас 10 раз. - person John Glassman; 18.04.2018
comment
Репозитории Bower (размещенные) не имеют функции загрузки: / - person Arkadi; 24.04.2018
comment
@tobias какое типичное значение для расширения? - person Varun Verma; 13.08.2020
comment
@Varun Verma расширение имени файла, например банка - person 17hao; 25.11.2020

Я использую файл развертывания maven.

mvn deploy:deploy-file -DgroupId=my.group.id \
    -DartifactId=my-artifact-id \
    -Dversion=1.0.0.1 \
    -Dpackaging=jar \
    -Dfile=foo.jar \
    -DgeneratePom=true \
    -DrepositoryId=my-repo \
    -Durl=http://my-nexus-server.com:8081/repository/maven-releases/

ОБНОВЛЕНИЕ: Как указано в комментариях, использование кавычек в URL вызывает исключение NoSuchElementException

Но я добавил конфигурацию сервера в свой maven (~ / .m2 / settings.xml).

<servers>
  <server>
    <id>my-repo</id>
    <username>admin</username>
    <password>admin123</password>
  </server>
</servers>

Использованная литература:

Maven Apache - руководство сторонних jar-файлов

person bpedroso    schedule 28.09.2016
comment
Должен ли я включать или устанавливать что-нибудь для подобного развертывания? При попытке получить следующие ошибки: 29 ноября 2016 г. 11:27:31 org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec выполнить INFO: исключение ввода-вывода (java.net.SocketException ) обнаружен при обработке запроса к {} - ›127.0.0.1:8081: сломанный канал и т. д. - person Eray Tuncer; 29.11.2016
comment
Нет. ТОЛЬКО чистый maven. У тебя есть прокси? Может быть, вам нужно игнорировать localhost / 127.0.0.1 там / или этот ip и порт верны? Я поищу другие предложения, чтобы решить эту проблему. - person bpedroso; 30.11.2016
comment
Думаю, проблема в том, что я использую Nexus 3, а не Nexus 2. - person Eray Tuncer; 01.12.2016
comment
@ErayTuncer В моем примере я проверил с помощью nexus 3. Не могли бы вы пройти полную трассировку стека? - person bpedroso; 01.12.2016
comment
Используя Maven 3.3.9, я получаю следующую ошибку: не удается получить доступ к 'http://XXX/repository/XXX/ 'с типом по умолчанию с использованием доступных фабрик коннекторов: BasicRepositoryConnectorFactory: нет доступа к' http://XXX/repository/XXX/ 'с использованием зарегистрированных фабрик транспортеров: WagonTransporterFactory: java.util.NoSuchElementException - person SandorRacz; 30.03.2017
comment
Чтобы избавиться от исключения NoSuchElementException: удалите кавычки из значения переключателя -Durl. На поиски у меня ушло 2 часа. - person SandorRacz; 30.03.2017
comment
@bpedroso, как я загружаю 3-й помп без банок? - person Ron Badur; 09.05.2017
comment
не забудьте обернуть этот фрагмент серверов в элемент ‹settings› ‹/settings›, если вы создаете новый файл settings.xml. в противном случае этот раздел будет автоматически проигнорирован. - person Alex; 03.08.2017

В настоящее время это не реализовано в пользовательском интерфейсе Nexus 3 (см. https://issues.sonatype.org/browse/NEXUS-10121). Вам нужно будет использовать curl или mvn deploy или какой-либо другой вариант.

person Keith Starling    schedule 06.06.2016
comment
Со временем это превращается в МАССИВНУЮ ПИТУ. - person demaniak; 24.05.2017

Вы можете загружать артефакты через их собственные возможности публикации (например, maven deploy, npm publish).

Вы также можете загружать артефакты в "сырые" репозитории с помощью простого запроса curl, например

curl --fail -u admin:admin123 --upload-file foo.jar 'http://my-nexus-server.com:8081/repository/my-raw-repo/'
person RCross    schedule 31.05.2016
comment
Да, я могу сделать это с помощью mvn deploy, и он отлично работает, но я не осознавал, что они удалили параметр Artifact Upload из последней версии Nexus. - person Paweł Głowacz; 31.05.2016
comment
@ PawełGłowacz проблема Jira для функции загрузки в 3.x находится здесь: issues.sonatype.org/ просмотреть / NEXUS-10121 - person mvreijn; 01.03.2017
comment
Прочтите man-файл curl о переключателе --fail - это не безопасно - person caduceus; 12.06.2020

Моя команда создала инструмент командной строки для загрузки артефактов в репозиторий nexus 3.x. Возможно, это будет вам полезно - Инструмент загрузки артефактов Maven

person Ron Badur    schedule 06.07.2017
comment
Но только для пользователей Windows? - person TOUDIdel; 06.01.2018
comment
На данный момент да - person Ron Badur; 06.01.2018

Для Windows:

mvn deploy:deploy-file -DgroupId=joda-time -DartifactId=joda-time -Dversion=2.7 -Dpackaging=jar -Dfile=joda-time-2.7.jar 
-DgeneratePom=true -DrepositoryId=[Your ID] -Durl=[YourURL]
person Chinmoy    schedule 07.01.2019

Моя команда использует Gradle и Nexus OSS 3.5.2,

Я нашел решение: загрузить артефакты с localhost (я проверил документацию Nexus и ничего не нашел о загрузке артефактов из папок) = › I имеют общий каталог (используйте Apache httpd) и подключили его к созданному новому репозиторию прокси Nexus. Теперь, когда я хочу добавить свои собственные артефакты, я могу загрузить их в общий каталог на моем удаленном сервере.

Может быть, кто-то сочтет мое решение полезным:  введите описание изображения здесь

Мой вопрос здесь: Можно ли развернуть артефакты из локальной папки в Sonatype Nexus Repository Manager 3.x

person kozmo    schedule 28.01.2018

Чтобы использовать mvn deploy: deploy-file, необходимо добавить ~. / M2 / settings.xml

<settings>
  <servers>
    <server>
      <id>nexus-repo</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  </servers>
</settings>

команда:

mvn deploy:deploy-file -DgroupId=com.example \
                                       -DartifactId=my-app \
                                       -Dversion=2.0.0 \
                                       -Dpackaging=jar \
                                       -Dfile=my-app.jar \
                                       -DgeneratePom=true \
                                       -DrepositoryId=nexus-repo \
                                       -Durl=http://localhost:8081/repository/maven-releases/
person GolamMazid Sajib    schedule 29.06.2020