Maven JGitFlow插件HTTPS身份验证
我在Windows上通过Maven JGitFlow插件HTTPS身份验证,git,maven,authentication,bitbucket,Git,Maven,Authentication,Bitbucket,我在Windows上通过Maven JGitFlow插件运行git bash通过HTTPS验证BitBucket时遇到问题 错误消息为:“需要身份验证,但未注册任何CredentialsProvider”。不过,我看到的建议似乎假设我作为开发人员可以访问JGit代码本身 我直接执行git命令时没有遇到任何问题(我使用的是git-credential-winstore)。此外,当我在POM.xml文件中显式地在POM中提供用户名和密码时,它也起作用 但是,我不希望我的密码被上传到我的BitBuck
Maven JGitFlow
插件运行git bash
通过HTTPS验证BitBucket时遇到问题
错误消息为:“需要身份验证,但未注册任何CredentialsProvider”。不过,我看到的建议似乎假设我作为开发人员可以访问JGit代码本身
我直接执行git命令时没有遇到任何问题(我使用的是git-credential-winstore
)。此外,当我在POM.xml文件中显式地在POM中提供用户名和密码时,它也起作用
但是,我不希望我的密码被上传到我的BitBucket存储库,我正在寻找一种方法,让JGitFlow
插件以与GIT本身相同的方式进行身份验证
我做错了什么?我该如何解决这个问题?下面的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>
external.atlassian.jgitflow
JgitFlowMaven插件
1.0-m5.1
${git.user}
${git.password}
使用用户名和密码作为Java系统属性从命令行调用它,即使用-Dgit.user=
和-Dgit.password=
,例如
mvn-Dgit.user=user@bitbucket.com-Dgit.password=secret jgitflow:release start
注意:插件应该使用Maven
CredentialsProvider
更新,它能够从settings.xml
和/或Git凭据解析器获取凭据,Git凭据解析器在命令行上使用与Git相同的机制。这是一个我没有想到的聪明解决方案。然而,这是否会使每个想参与我的项目的人都必须这样做(即使他们使用另一种形式的凭证)?是的,每次他们使用发布插件时,他们都需要提供凭证。可能只有在连接到远程存储库时才需要它们,我还没有测试过。我们的用例被搞糟了,因为我们还需要将凭据传递给代理…虽然这改善了情况(我的凭据不会与我的合作伙伴共享),但这仍然会迫使我采取行动方式(例如,它似乎不太适合公共存储库).您是否考虑过从HTTPS切换到SSH身份验证?这里有一个简单的操作说明:对于那些使用SourceTree的人,有一些关于如何将其切换到基于OpenSSH的SSH身份验证(这是Windows上Git的默认设置)的链接:我最近在github上发现了一个项目,它取代了这个想法(不确定它是否是一个直接的延续),但它使用https身份验证: