【问题标题】:Maven JGitFlow plugin authentication for HTTPS用于 HTTPS 的 Maven JGitFlow 插件身份验证
【发布时间】:2016-07-11 10:26:21
【问题描述】:

我无法通过 HTTPS 通过 Maven JGitFlow 插件对 BitBucket 进行身份验证,在 Windows 上通过 git-bash 运行。

错误消息是:“需要身份验证,但尚未注册 CredentialsProvider”。虽然我看到的建议似乎假设我作为开发人员可以访问 JGit 代码本身。

直接执行 git 命令没有问题(我使用的是git-credential-winstore)。此外,当我在 pom.xml 文件中明确地在 POM 中提供我的用户名和密码时,它也可以工作。

但是,我不希望我的密码被上传到我的 BitBucket 存储库,我正在寻找一种方法让 JGitFlow 插件以与 GIT 本身相同的方式进行身份验证。

我做错了什么,我该如何解决?

【问题讨论】:

标签: git maven authentication bitbucket


【解决方案1】:

以下 JGitFlow Maven 插件配置有效

<plugin>
    <groupId>external.atlassian.jgitflow</groupId>
    <artifactId>jgitflow-maven-plugin</artifactId>
    <version>1.0-m5.1</version>
    <configuration>
        <username>${git.user}</username>
        <password>${git.password}</password>
    </configuration>
</plugin>

使用用户名和密码作为 Java 系统属性从命令行调用它,即使用 -Dgit.user=&lt;user&gt;-Dgit.password=&lt;password&gt;,例如

mvn -Dgit.user=user@bitbucket.com -Dgit.password=secret jgitflow:release-start

注意:插件确实应该使用能够从 settings.xml 获取凭据的 Maven CredentialsProvider 和/或在命令行上使用与 git 相同机制的 Git 凭据解析器进行更新。

【讨论】:

  • 这是一个我没有想到的聪明的解决方案。但是,这是否会让每个想要参与我的项目的人也必须这样做(即使他们使用其他形式的凭据)?
  • 是的,他们每次使用发布插件时都需要提供凭据。 可能仅当您连接到远程存储库时才需要它们,我没有测试过。我们的用例很糟糕,因为我们还需要将凭据传递给代理......
  • 虽然这改善了情况(我的凭据不会与我合作的人共享),但这仍然迫使我做事的方式(因此它似乎不太适合公共存储库,例如) .
猜你喜欢
  • 2016-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-11
  • 1970-01-01
  • 2018-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多