2010-12-22 12 views
12

Actualmente estoy tratando de transmitir una construcción maven a una compilación de Gradle. El obstáculo de tope de exposición que he visto es que nuestros artefactos internos se implementan en un repositorio interno que requiere autenticación para leer.¿Cómo puedo usar una contraseña cifrada para un repositorio Maven en Gradle

Y usted sabe lo que significa autenticación ... nombres de usuario y contraseñas. El problema es que no quiero exigir a los desarrolladores que almacenen su contraseña como texto sin formato en sus discos duros. Maven admite password encryption, pero no veo cómo hacer que Gradle lo haga.

¿Hay algún acceso mágico a Ivy CredentialStore que admita contraseñas encriptadas? o tendré que esperar una nueva versión?

Respuesta

9

Usamos Artifactory e Ivy's CredentialsStore funciona bien.

repositories { 
    org.apache.ivy.util.url.CredentialsStore.INSTANCE.addCredentials(REALM, HOST, USER, PASSWORD); 
    mavenRepo urls: [ "http://repo.mycompany.com/repo" ] 
} 

que cada desarrollador utilizar un nombre de usuario diferente crear un archivo que contiene gradle.properties

HOST=repo.mycompany.com 
REALM=My Company Realm 
USER=theusername 
PASSWORD={DESede}xyz123abc 

El prefijo {DESede} cifrado de contraseña puede ser un Artifactory specific convention.

+2

Eso estaría bien si usé artefacto, pero mi sitio usa nexus. ¿Alguna solución genérica? – shemnon

+0

Brian Fox dijo que iban a agregar compatibilidad con contraseña cifrada del lado del servidor a Nexus en http://jira.codehaus.org/browse/MNG-4626 –

+3

Nexus tiene una función de token de usuario que puede reemplazar el nombre de usuario y la contraseña para que no lo haga necesito encriptarlo Solo usa lo anterior con el token no encriptado –

Cuestiones relacionadas