2013-02-12 5 views
7

Ich lief das Maven Release Plugin (org.apache.maven.plugins: maven-release-plugin: 2.3.2) und bemerkte, dass das Passwort für die scm gespeichert ist in Klartext in der Datei release.properties, wenn sie über die Befehlszeile übergeben werden. Ich möchte wissen, ob es eine Möglichkeit gibt, das abzuschalten.maven release plugin release.properties Datei enthält unverschlüsselte Passwort

Ich benutze Hudson, um den Freigabeprozess zu automatisieren, und der svn-Benutzername und das Kennwort werden über Hudson an die Befehlszeile übergeben. Der Grund dafür ist, dass die Person, die die Release-Vorbereitung durchführt, sich ändern kann und ich mehrere Hudson-Jobs habe, die eine settings.xml freigeben, um verschiedene Projekte freizugeben.

ich vorbei in Parametern wie: -Dtag = $ {} svn.label -DreleaseVersion = $ {} maven.releaseVersion -DdevelopmentVersion = $ {} maven.developmentVersion -Dusername = $ {svn.username} -Dpasswort = $ {svn.password} -DscmCommentPrefix = '[maven-release-plugin] $ {env.BUILD_URL}'

Die Datei release.properties wird während der Veröffentlichung erstellt: vorbereiten, aber ich denke nicht Es sollte notwendig sein, da ich alle Informationen entlang der Befehlszeile übergebe. Wenn diese Datei release.properties erstellt wird, enthält sie das Kennwort im Klartext. Dies ist problematisch, da es möglich ist, Hudson zum Durchsuchen des Arbeitsbereichs zu verwenden, so dass jeder, der Zugang zu Hudson hat, das Passwort sehen kann, indem er die Datei über den Browser öffnet.

Gibt es eine Möglichkeit, die Datei release.properties nicht zu erstellen oder das Kennwort nicht in der Datei zu speichern? Ich weiß, dass ein verschlüsseltes Passwort in einer settings.xml-Datei gespeichert werden kann, aber diese Datei wird von mehreren Jobs geteilt und kann nicht von den Leuten bearbeitet werden, die die Jobs ausführen.

+0

Sind Sie die Maven-Optionen für Passwort-Verschlüsselung? (-emp, - encrypt-master-password Verschlüsseln Master-Sicherheitspasswort -ep, - Verschlüsseln-Passwort Verschlüsseln Serverpasswort) – bmargulies

Antwort

0

Wir haben solche Probleme vermieden, indem wir den svn-client das Passwort für uns zwischenspeichern ließen.

Zu diesem Zweck haben wir ein spezielles Konto mit ausreichenden Rechten in Subversion.

Auf unserem Build-Server wird das Passwort im Klartext vom svn-Client im Konto des Benutzers gespeichert, der hudson ausführt. Für uns ist das kein Problem, da nur Hudson-Administratoren Zugriff auf dieses Konto haben.

Aber Sie können auch den Svn-Client konfigurieren, um das Passwort verschlüsselt zu speichern. Die Konfiguration hängt von Ihrem Betriebssystem ab.

Svn-Client-Konfiguration ist in. Subversion (Linux) oder "ApplicationData/Subversion" (Windows) gespeichert.

Siehe here, here oder here.

+0

Das ist ein guter Weg für SVN im Allgemeinen zu gehen. Für unseren Anwendungsfall müssen die einzelnen Logins von Benutzern für die Quelltexthistorie beibehalten werden. Daher ist es wichtig, mehrere SVN-Benutzer zu unterstützen. – ash

Verwandte Themen