3

我在跑

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。

有人知道如何解决吗?

4

1 回答 1

4

在发布插件中使用另一个 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 个月前得到解决。

于 2016-12-15T09:05:51.627 回答