Под Nexus 2.0.1 это решение, над которым я работал и проверен.
Оговорки:
Это позволяет ограничить параметр «Экспортировать артефакт» в иерархию каталогов.
Это не то же самое, что «развернуть» или в сочетании с «подготовкой выпуска».
Шаги:
Удалить единственную привилегию «Артефакт Upload» от всего, что в настоящее время есть, что вы не хотите, чтобы он.
Создайте «Объект репозитория», который включает в себя маску каталога, где вы хотите предоставить доступ. Ex. .*/com/mycompany/target-dir/.*
Двойная проверка маски, начинается с периода-звездочки И заканчивается звездочкой-звездочкой.
Создайте «Репозиторий-Привилегия», который отображается в созданном вами хранилище-репозитории. Обычно я включаю имя репо в этом имени-привилегии репозитория, например, «releases.com.mycompany.target-dir». Это создает записи CRUD (4) для указанного каталога.
Далее создайте «Роль» на основе только что созданных вами репозиторий (4), плюс «Artifact Upload». Всего 5 записей для роли. Используйте «Применить фильтр» здесь, чтобы помочь вам найти эти предметы. Я называю эту роль чем-то вроде «Upload.Role.Releases.Target-Dir». Опять же, когда закончите должно быть 5 записей для этой роли:
Артефакт Загрузить
com.mycompany.target-Dir (создать)
com.mycompany.target-Dir (удалить)
com.mycompany.target-дир (read)
com.mycompany.target-dir (update)
Это то, что сдерживает роль загрузки в этом каталоге repo.directory.
Создайте пользователя, если он еще не существует, назначьте пароль.
Дайте пользователю следующие роли:
Nexus Сработала
Repo: Все Maven Хранилища (Read)
UI: Привилегий интерфейса базы
Upload.Role.Relases.Target-Dir
Нажмите «Сохранить», и у вас его есть.Позже вы можете использовать этот же подход для создания новой роли для других репозиториев (например, Snapshot или 3rd Party) и сохранить ту же самую маску каталога.