2013-02-12 16 views
7

Sto eseguendo il plugin di rilascio di Maven (org.apache.maven.plugins: maven-release-plugin: 2.3.2) e ho notato che la password di scm è stata salvata in chiaro nel file release.properties quando viene passato tramite la riga di comando. Voglio sapere se c'è un modo per disattivarlo.plugin di rilascio di Maven Il file release.properties contiene una password non crittografata

Sto utilizzando Hudson per automatizzare il processo di rilascio e il nome utente e la password svn vengono passati alla riga di comando tramite Hudson. La ragione di ciò è che la persona che sta facendo la preparazione del rilascio può cambiare e ho diversi lavori hudson che condividono un settings.xml per rilasciare diversi progetti.

sto passando in parametri quali: -Dtag = $ {} svn.label -DreleaseVersion = $ {} maven.releaseVersion -DdevelopmentVersion = $ {} maven.developmentVersion -Dusername = $ {} svn.username -Dpassword = $ {svn.password} -DscmCommentPrefix = '[maven-release-plugin] $ {env.BUILD_URL}'

Il file release.properties viene creato durante il rilascio: preparare, ma non penso dovrebbe essere necessario mentre sto passando tutte le informazioni lungo la linea di comando. Quando viene creato questo file release.properties, include la password in testo normale. Ciò è problematico perché è possibile utilizzare hudson per esplorare l'area di lavoro, in modo che chiunque abbia accesso a hudson possa vedere la password aprendo il file tramite il browser.

C'è un modo per non creare il file release.properties o non salvare la password nel file? Mi rendo conto che una password crittografata potrebbe essere salvata in un file settings.xml ma questo file è condiviso tra più lavori e non è modificabile dalle persone che eseguono i lavori.

+0

Si sta utilizzando le opzioni di Maven per la crittografia della password? (-emp, - encrypt-master-password -ep, - encrypt-password Encrypt-master-password Encrypt password password – bmargulies

risposta

0

Abbiamo evitato tali problemi lasciando che svn-client memorizzasse la password nella cache per noi.

A tale scopo abbiamo un account speciale con diritti adeguati in sovversione.

Sul nostro server di build la password viene memorizzata in chiaro dal client svn nell'account dell'utente che esegue hudson. Per noi non è un problema perché solo gli amministratori di hudson hanno accesso a questo account.

Ma è anche possibile configurare svn-client per memorizzare la password crittografata. La configurazione dipende dal tuo sistema operativo.

La configurazione di svn-client è memorizzata in .subversion (linux) o "ApplicationData/Subversion" (windows).

Vedi here, here o here.

+0

Questo è un buon modo per andare per SVN in generale. Per il nostro caso d'uso, i singoli accessi degli utenti devono essere conservati per la cronologia del codice sorgente. Quindi, è importante supportare più utenti SVN. – ash

Problemi correlati