Как сделать запрос mvn deploy для пароля?
В настоящее время я храню свои учетные данные maven в ~/.m2/settings.xml
:
<server>
<id>my_server_id</id>
<username>my_username</username>
<password>my_password</password>
</server>
Однако я не доволен тем, что пароль имеет четкий текст, поскольку пароль используется для других служб, поэтому я предпочитаю запрашивать пароль при выполнении mvn deploy
. Я развертываю установку Nexus OSS через https.
Я знаю, что пароль может быть зашифрован, но поскольку шифрование обратимо, это решение не подходит для моего случая.
Есть ли способ заставить Maven запрашивать пароль при развертывании https?
Ответы
Ответ 1
Как уже упоминалось, эта функциональность в настоящее время не поддерживается в плагине. Проблема MDEPLOY-51 действительно требует такого улучшения:
Разрешить пользователю указывать пароль имени пользователя для удаленного сервера, когда вызывается цель развертывания. В настоящее время вы должны добавить репозиторий имя пользователя и пароль в файле server.xml. Было бы полезно, если бы пользователю может быть предложено ввести имя пользователя и пароль в команде линия. Пароль должен быть скрыт при вводе.
Я бы предложил голосовать за это улучшение или, возможно, реализовать свои функции самостоятельно.
Ответ 2
maven-deploy-plugin
не имеет интерактивного режима, поэтому нет, вы не можете сделать это легко. Обычный подход заключается в шифровании учетных данных в вашем файле settings.xml
.
Если вы действительно чувствуете, что вам нужна эта функция, вы всегда можете проверить источники плагина и самостоятельно добавить интерактивный режим, а затем внести свой вклад в сообщество.
Ответ 3
В качестве альтернативы запросу пользователя во время выполнения вы можете передать имя пользователя и пароль в качестве аргументов.
Попробуйте это mvn whatevergoal -Dusername -Dpassword
затем внутри pom.xml ${username} и ${password}