2014-09-08 7 views
10

Attualmente sto memorizzare le mie credenziali Maven in ~/.m2/settings.xml:Come rendere mvn deploy prompt per la password?

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

Tuttavia, io non sono soddisfatto di avere la password in chiaro, dal momento che la password viene utilizzata per altri servizi, quindi preferirei pronta l'utente per la password quando fa un mvn deploy. Sto distribuendo su un'installazione Nexus OSS tramite https.

So che the password can be encrypted, ma dal the encryption is reversible, questa soluzione non è appropriata per il mio caso.

C'è un modo per far sì che Maven richieda una password quando si esegue una distribuzione https?

+0

Se si sta distribuendo il Maven centrale Repository (o utilizzando Nexus Pro) potresti voler verificare l'autenticazione con un [token utente] (http://blog.sonatype.com/2012/08/securing-repository-credentials-with-nexus-pro-user-tokens/) invece di nome utente e password . – dnault

risposta

11

Come accennato, questa funzionalità non è attualmente supportata nel plug-in. Problema MDEPLOY-51 in realtà chiede questo miglioramento:

consentire all'utente di fornire una password nome utente per un server remoto quando l'obiettivo Deploy è chiamato. Attualmente è necessario aggiungere il nome utente e la password del repository al file server.xml. Sarebbe utile se all'utente fosse richiesto un nome utente e una password sulla riga di comando . La password deve essere nascosta quando viene inserita.

Suggerirei di votare per questo miglioramento o eventualmente implementare la funzionalità da soli.

2

Il maven-deploy-plugin non ha una modalità interattiva, quindi no, non è possibile farlo facilmente. L'approccio abituale è quello di crittografare le credenziali nel tuo file settings.xml.

Se ritieni davvero di aver bisogno di questa funzionalità, puoi sempre verificare le origini del plug-in e aggiungere la modalità interattiva da solo e quindi contribuire alla comunità.

1

In alternativa all'interrogazione dell'utente in fase di esecuzione, è possibile passare nome utente e password come argomenti.

Prova questo mvn whatevergoal -Dusername -Dpassword

poi all'interno del pom.xml $ {nome utente} e $ {} la password

+1

Questo non funziona perché username/password sono in 'settings.xml', non' pom.xml', e la sostituzione delle proprietà è disabilitata lì. – benschumacher

Problemi correlati