Плагин релиза 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 месяцев назад, в соответствии с этим.

Другие вопросы по тегам