2012-07-03 24 views

Respuesta

6

Puede crear particiones de un repositorio utilizando destinos, privilegios y roles del repositorio como se describe en in this Sonatype blog post. Probé esto hace unos meses y parecía funcionar bien.

2

Bajo Nexus 2.0.1, esta es la solución que he trabajado y verificado.

Advertencias:
Esto permite restringir la opción "Carga de artefactos" a una jerarquía de directorios.
Esto no es lo mismo que "implementar" o junto con "liberar preparación".

Pasos:

  1. Retire el privilegio de "Artefacto Subir" de todos los que tienen actualmente, eso no quiere tenerlo.

  2. Crea el "Repository-Target" que incluye la máscara de directorio a la que deseas dar acceso. Ex. .*/com/mycompany/target-dir/.*
    Revise la máscara dos veces, comienza con un asterisco de punto Y termina con un asterisco de período.

  3. Crea el "Repositorio-Privilegio" que se asigna al Repository-Target que acabas de crear. Normalmente, incluyo el repo-nombre en este repositorio-nombre-privilegio, como "releases.com.mycompany.target-dir". Esto crea las entradas CRUD (4) para dicho directorio.

  4. A continuación, cree la "Función" basada en los Privilegios de repositorio que acaba de crear (4), más "Artifact Upload". Total de 5 entradas para el papel. Use el "Aplicar filtro" aquí para ayudarlo a encontrar estos artículos. A este rol lo llamo algo como "Upload.Role.Releases.Target-Dir". Una vez más, cuando debería haber terminado 5 entradas para esta función:
    Artefacto Subir
    com.mycompany.target-dir (crear)
    com.mycompany.target-dir (borrar)
    com.mycompany.target-dir (leer)
    com.mycompany.target-dir (actualizar)

    Esto es lo que limita la función de carga a este repo.directory.

  5. Cree el usuario si aún no existe, asigne la contraseña.

  6. Dar al usuario las siguientes funciones:
    despliegue Nexus
    Repo: Todos los repositorios de Maven (Leer)
    interfaz de usuario: la interfaz de usuario privilegios de base
    Upload.Role.Relases.Target-Dir

Hit save y lo tienes.Más adelante, puede usar este mismo enfoque para crear un nuevo Rol para otros repositorios (por ejemplo, Snapshot o 3rd party) y mantener la misma máscara de directorio.

Cuestiones relacionadas