Wie kann ich ein verschlüsseltes Passwort zu einem Maven Repository in Gradle verwenden
-
12-10-2019 - |
Frage
Ich versuche derzeit ein Maven-Build zu einem Gradle Build transisiton. Die Show Stopper Hürde Ich habe Hit ist, dass unsere internen Artefakte zu einem internen Repository bereitgestellt werden, die eine Authentifizierung erfordert zu lesen.
Und Sie wissen, was Authentifizierungsmittel ... Benutzernamen und Passwörter. Das Problem ist, ich will nicht Entwickler benötigen ihr Passwort im Klartext auf ihrer Festplatte zu speichern. Maven unterstützt Passwort-Verschlüsselung aber ich sehe nicht, wie Gradle auszukommen es.
Gibt es einen magischen Zugang zum Ivy CredentialStore die verschlüsselten Passwörter unterstützen? oder muss ich für eine neue Version warten?
Lösung
Wir verwenden Artifactory und Ivys CredentialsStore funktioniert.
repositories {
org.apache.ivy.util.url.CredentialsStore.INSTANCE.addCredentials(REALM, HOST, USER, PASSWORD);
mavenRepo urls: [ "http://repo.mycompany.com/repo" ]
}
Um jeden Entwickler verwenden einen anderen Benutzernamen ein gradle.properties
Datei erstellen, die
HOST=repo.mycompany.com
REALM=My Company Realm
USER=theusername
PASSWORD={DESede}xyz123abc
Der {DESede}
verschlüsselte Passwort-Präfix kann ein Artifactory spezifische Konvention .
Andere Tipps
Die gradle-credentials Plugin Sie lassen verschlüsseln den Inhalt eines gradle.encrypted .properties-Datei, die dann in der Build als Eigenschaften des credentials
Objekts zur Verfügung.
Die gradle Maven Einstellungen Plugin lassen Sie verwenden Maven System zum Verschlüsseln / Entschlüsseln von Anmeldeinformationen.