Плагин релиза Maven показывает пароль в виде открытого текста при ошибке git push
Я бегу
mvn release:prepare -Dusername=myuser -Dpassword=mypassword
и увидеть строки в выводе:
[INFO] Executing: cmd.exe /X /C "git push https://myuser:********@myserver.com:8081/scm/project/project.git refs/heads/master:refs/heads/master"
но если по какой-то причине git push
не удалось (например, я допустил ошибку при вводе пароля), затем я вижу в журнале
[ERROR] fatal: unable to access 'https://myuser:mypassword@myserver.com:8081/scm/project/project.git/': SSL certificate problem: self signed certificate in certificate chain
Поэтому я вижу пароль PLAINTEXT. Поскольку я использую этот шаг в Teamcity, он вызывает проблемы с безопасностью, когда кто-то еще может увидеть мой пароль, если сборка не удалась. Я пробовал как на Linux, так и на Windows машинах.
Я использую maven-release-plugin версии 2.5.3.
Кто-нибудь знает, как это исправить?
1 ответ
Используйте другого провайдера git в плагине релиза. У меня была точно такая же проблема при переключении на другой сервер git. Внезапно в журналах сборки появился пароль Jenkins, даже если ошибок не было. Возможно, серверы git используют разные схемы аутентификации.
Это сработало для меня:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<providerImplementations>
<git>jgit</git>
</providerImplementations>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jgit</artifactId>
<version>1.9.5</version>
</dependency>
</dependencies>
</plugin>
Эта проблема была решена около 6 месяцев назад, в соответствии с этим.