webentwicklung-frage-antwort-db.com.de

Wie kann man mvn bereitstellen, um nach dem Passwort zu fragen?

Ich speichere derzeit meine Maven-Anmeldeinformationen in ~/.m2/settings.xml:

<server>
  <id>my_server_id</id>
  <username>my_username</username>
  <password>my_password</password>
</server>

Ich bin jedoch nicht zufrieden damit, dass das Kennwort im Klartext vorliegt, da das Kennwort für andere Dienste verwendet wird. Daher möchte ich den Benutzer bei der Erstellung eines mvn deploy eher zur Eingabe des Kennworts auffordern. Ich stelle eine Nexus OSS-Installation über https bereit.

Ich weiß, dass das Passwort verschlüsselt werden kann , aber da die Verschlüsselung umkehrbar ist , ist diese Lösung für meinen Fall nicht geeignet.

Gibt es eine Möglichkeit, Maven bei einer https-Bereitstellung zur Eingabe eines Kennworts aufzufordern?

13
rodrigorgs

Wie bereits erwähnt, wird diese Funktionalität derzeit nicht im Plugin unterstützt. Ausgabe MDEPLOY-51 bittet tatsächlich um diese Verbesserung:

Erlauben Sie dem Benutzer die Eingabe eines Benutzernamenskennworts für einen Remote-Server, wenn Das Bereitstellungsziel aufgerufen wird. Derzeit müssen Sie den Repository-Benutzernamen und das Kennwort zur Datei server.xml hinzufügen. Es wäre hilfreich, wenn Der Benutzer zur Eingabe eines Benutzernamens und eines Passworts in der Befehlszeile Aufgefordert werden könnte. Das Passwort sollte bei der Eingabe ausgeblendet werden.

Ich würde vorschlagen, für diese Verbesserung abzustimmen, oder die Funktionalität möglicherweise selbst implementieren. 

12
ebo

Der maven-deploy-plugin hat keinen interaktiven Modus, also können Sie das nicht so einfach machen. Der übliche Ansatz besteht darin, die Anmeldeinformationen in Ihrer settings.xml-Datei zu verschlüsseln.

Wenn Sie der Meinung sind, dass Sie diese Funktion wirklich benötigen, können Sie die Quellen des Plugins jederzeit selbst auschecken, den interaktiven Modus selbst hinzufügen und dann der Community zur Verfügung stellen.

2
carlspring

Als Alternative zur Abfrage des Benutzers zur Laufzeit können Sie den Benutzernamen und das Kennwort als Argumente übergeben. 

Versuchen Sie es mit diesem Ziel 

dann in der pom.xml $ {username} und $ {password} 

1
squishy