Maven 发布插件在 git 推送错误时显示明文密码

Maven release plugin shows plaintext password on git push error

我是 运行

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.

有人知道怎么解决吗?

在发布插件中使用另一个 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>

根据 this

,此问题已在大约 6 个月前修复