Что-то вроде “mvn undeploy” для удаления артефактов из Nexus?

#maven #nexus

#maven #nexus

Вопрос:

После mvn deploy (для локального Nexus) в проекте с более чем 50 модулями я понял, что у всех развернутых артефактов были неправильные имена файлов (суффикс zip вместо war и т.д.).

Есть ли что-то вроде mvn undeploy , чтобы снова удалить их из Nexus?

Комментарии:

1. Я думаю, вы можете сделать это только через консультацию администратора Nexus. Вы не можете сделать это с помощью maven.

2. Нет возможности удалить что-либо из nexus без входа в систему как администратор nexus. Вы не можете сделать это через Maven.

Ответ №1:

Вы можете удалить это с помощью команды Curl :

http://host:port/nexus/service/local/repositories/repo-id/content/group-id/artifact-id/version

Запрос на удаление может быть отправлен с этими параметрами, мне нравится подавлять выходные данные, кроме кода состояния HTTP, чтобы было проще проверять результат серии таких команд, выполняемых из сценария оболочки.

 curl –request DELETE –write “%{http_code} %{url_effective}\n” –user admin:admin123 –output /dev/null –silent url
  

Например, вы можете выполнить этот скрипт из задания Freestyle jenkins.

Комментарии:

1. В простейшей форме: curl -X DELETE -u admin:admin123 "http://somedomain/nexus/content/repositories/myrepo/com/test/test-artifact/1.0.0/"