Comment puis-je utiliser un mot de passe crypté à un référentiel Maven dans Gradle
-
12-10-2019 - |
Question
J'essaie actuellement transisiton un build Maven à une accumulation Gradle. Le coup d'obstacle bouchon show I est AVONS que nos artefacts internes sont déployés à un référentiel interne qui nécessite une authentification à lire.
Et vous savez ce que signifie d'authentification ... les noms d'utilisateur et mots de passe. Le problème est que je ne veux pas demander aux développeurs de stocker leur mot de passe en texte clair sur leurs disques durs. Maven prend en charge les cryptage mot de passe mais je ne vois pas comment faire Gradle faire il.
est-il un accès magique à l'Ivy CredentialStore qui soutiendra les mots de passe cryptés? ou devrai-je attendre une nouvelle version?
La solution
Nous utilisons les travaux Artifactory et CredentialsStore Ivy bien.
repositories {
org.apache.ivy.util.url.CredentialsStore.INSTANCE.addCredentials(REALM, HOST, USER, PASSWORD);
mavenRepo urls: [ "http://repo.mycompany.com/repo" ]
}
Pour que chaque utilisation de développeur d'un autre nom d'utilisateur crée un fichier qui contient gradle.properties
HOST=repo.mycompany.com
REALM=My Company Realm
USER=theusername
PASSWORD={DESede}xyz123abc
Le préfixe de mot de passe crypté {DESede}
peut être un .
Autres conseils
Gradle-credentials vous permettra de crypter le contenu d'un gradle.encrypted fichier .properties, qui sera ensuite disponible dans la construction en tant que propriétés de l'objet credentials
.
Les paramètres gradle plugin Maven vous permettra d'utiliser système de Maven pour le cryptage / références déchiffrement.