¿Cómo puedo usar una contraseña cifrada a un repositorio de Maven en Gradle
-
12-10-2019 - |
Pregunta
Actualmente estoy tratando de transisiton una acumulación experto a una acumulación Gradle. El tapón de la demostración obstáculo me he éxito es que nuestros artefactos internos se implementan en un repositorio interno que requiere autenticación para leer.
Y sabes qué medios de autenticación ... nombres de usuario y contraseñas. El problema es que no quiero para requerir a los desarrolladores almacenar la contraseña en texto plano en sus discos duros. Maven apoya contraseña de cifrado pero no estoy viendo cómo hacer Gradle hacer eso.
¿Hay algún tipo de acceso a la magia de la hiedra CredentialStore que apoyará las contraseñas cifradas? o voy a tener que esperar a una nueva versión?
Solución
Utilizamos Artifactory y CredentialsStore de Ivy bien funciona.
repositories {
org.apache.ivy.util.url.CredentialsStore.INSTANCE.addCredentials(REALM, HOST, USER, PASSWORD);
mavenRepo urls: [ "http://repo.mycompany.com/repo" ]
}
Para cada uso tiene un nombre de usuario diferente desarrollador crear un archivo que contiene gradle.properties
HOST=repo.mycompany.com
REALM=My Company Realm
USER=theusername
PASSWORD={DESede}xyz123abc
El {DESede}
cifrado prefijo contraseña puede ser un convención específica Artifactory .
Otros consejos
Gradle-credenciales plug-in le permitirá cifrar el contenido de un gradle.encrypted archivo .properties, que luego estará disponible en la construcción como propiedades del objeto credentials
.
El Gradle experta en la configuración de plug-in le permitirá utilizar sistema de Maven para cifrar / descifrar las credenciales.