web-dev-qa-db-fra.com

Comment faire déployer mvn Demander un mot de passe?

Je suis en train de stocker mes informations d'identification maven dans ~/.m2/settings.xml:

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

Cependant, je ne suis pas satisfait d'avoir le mot de passe en texte clair, car le mot de passe est utilisé pour d'autres services, je préférerais donc Inviter l'utilisateur à saisir le mot de passe lors de l'exécution d'un mvn deploy. Je déploie sur une installation Nexus OSS via https.

Je sais que le mot de passe peut être crypté , mais puisque le cryptage est réversible , cette solution ne convient pas à mon cas.

Existe-t-il un moyen de demander un mot de passe à Maven lors d'un déploiement https?

13
rodrigorgs

Comme mentionné, cette fonctionnalité n'est actuellement pas prise en charge dans le plugin. Numéro MDEPLOY-51 demande en fait cette amélioration:

Autorisez l'utilisateur à fournir un mot de passe de nom d'utilisateur pour un serveur distant lorsque Est appelé l'objectif de déploiement. Actuellement, vous devez ajouter le nom d'utilisateur et le mot de passe du référentiel Au fichier server.xml. Il serait utile que Puisse demander à l'utilisateur un nom d'utilisateur et un mot de passe sur la ligne de commande . Le mot de passe doit être masqué lors de la saisie.

Je suggérerais de voter pour cette amélioration, ou éventuellement de mettre en œuvre la fonctionnalité vous-même. 

12
ebo

Le maven-deploy-plugin n'a pas de mode interactif, donc non, vous ne pouvez pas le faire facilement. L'approche habituelle consiste à chiffrer les informations d'identification dans votre fichier settings.xml.

Si vous pensez vraiment avoir besoin de cette fonctionnalité, vous pouvez toujours extraire les sources du plug-in, ajouter le mode interactif vous-même, puis contribuer à la communauté.

2
carlspring

Au lieu d'interroger l'utilisateur au moment de l'exécution, vous pouvez transmettre le nom d'utilisateur et le mot de passe comme arguments. 

Essayez ce mvn quel que soit le nom d'utilisateur -Dusername -Dpassword 

puis dans le pom.xml $ {username} et $ {password} 

1
squishy