我的 NetBeans git 设置似乎出了问题。我在 Windows 8.1 上使用 NetBeans IDE 8.0.1,并且在 GitLab.com 上托管了一个私有(private) git 存储库。但自从 GitLab updated to version 7.3.1我无法从 NetBeans 连接到 git 存储库。无论我提取、 pull 还是推送,我都会得到相同的响应:“无法连接到位于 https://gitlab.com/
我发现了类似的(较旧的)问题,但我不认为这是同一个问题。我认为我的问题与 GitLab Community Edition 7.3.1 的发布有关,尽管我看不出到底是什么原因造成的。
来自this bug report on NetBeans community有人建议点击“被动模式”可以解决问题,但我不知道在哪里可以找到这种被动模式。在谷歌搜索被动模式下,我认为它与 FTP 有关,但我使用 https 选项而不是 ftps 选项来连接到 git 存储库,所以我认为这并不真正适用于我的情况(如果我错了)。
This other bug report on NetBeans community有人建议我需要将以下行添加到我的 git 配置文件中:
[http]
sslVerify=false
我将其添加到项目文件夹中的 .git/config 文件和用户文件夹中的 .gitconfig 文件中,但这并没有解决问题.
再次从 GitLab.com 克隆 git 存储库也没有解决问题。事实上,当我尝试克隆时,我得到了相同的错误响应(如上所述)。
如果我使用 Windows 版 Git Bash,我仍然可以连接到 git 并执行所有 git 命令。因此,我现在将使用它,但我更希望能够在 NetBeans 中使用 Git 存储库浏览器。
编辑:
我还运行带有自动构建和测试功能的 Jenkins,它也连接到 GitLab.com 上的同一个 git 存储库。我已经有一段时间没有检查它的日志了,但它也无法获取。因此,问题不仅仅限于 NetBeans,Jenkins 也受到影响。
这是 Jenkins 构建尝试的输出:
Started by user Pieterjan van Gastel
Building in workspace C:\Program Files (x86)\Jenkins\workspace\<project-name>
> C:\Program Files (x86)\Git\bin\git.exe rev-parse --is-inside-work-tree
Fetching changes from the remote Git repository
> C:\Program Files (x86)\Git\bin\git.exe config remote.origin.url https://gitlab.com/<group-name>/<project-name>
Fetching upstream changes from https://gitlab.com/<group-name>/<project-name>
> C:\Program Files (x86)\Git\bin\git.exe --version
FATAL: Failed to fetch from https://gitlab.com/<group-name>/<project-name>
hudson.plugins.git.GitException: Failed to fetch from https://gitlab.com/<group-name>/<project-name>
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:622)
at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:854)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:879)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1254)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:624)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:530)
at hudson.model.Run.execute(Run.java:1732)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:234)
Caused by: hudson.plugins.git.GitException: Received fatal alert: handshake_failure
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.checkCredentials(CliGitAPIImpl.java:2115)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1151)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$200(CliGitAPIImpl.java:87)
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:265)
at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:620)
... 10 more
出于隐私原因,再次省略群组名称和项目名称。
我希望自动执行我的单元测试,因此很高兴知道到底发生了什么变化以及如何修复它。
此问题现在也作为问题 on NetBeans.org 归档和 on the GitLab Mailing List .
最佳答案
这个问题很容易解决。
约翰·吉布森 ( @jgibson ) commented on GitLab CE issue #624他遇到了类似的错误。他解释说,他“发现服务器上所有可用的密码都至少为 256 位。标准 Oracle Java 附带的密码对于某些算法仅限于 128 位。安装 Oracle 的 unlimited strength crypto package 后,问题就解决了请注意,无限强度包仅在美国合法可用。如果您在美国境外,那么我认为 OpenJDK 可以替代。”
我按照他提到的链接,下载了Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7,并按照随附的自述文件中的步骤进行操作下载。
我重新启动了 NetBeans,问题就解决了。
这也应该适用于 Eclipse IDE,如以下 SO 问题所示:“Gitlab cannot open git-upload-pack error”
我还没有尝试让它与 Jenkins 一起工作,但我认为它也很容易修复。
我差点忘了,我找到了这个答案,感谢 Achilleas Pipis on the GitLab Mailing List .
关于git - 如何从 NetBeans IDE 8 和 Jenkins 重新连接到 GitLab 上的 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26097307/