git - 如何从 NetBeans IDE 8 和 Jenkins 重新连接到 GitLab 上的 git 存储库?

标签 git netbeans jenkins repository gitlab

我的 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//.git 的远程存储库”(出于隐私原因省略组名称和项目名称)

我发现了类似的(较旧的)问题,但我不认为这是同一个问题。我认为我的问题与 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/

相关文章:

git - 获取指定子模块的当前commit id

java - Java中同一行添加多组JLabel和JTextBox

git - 在 PowerShell 中将 curl REST 调用转换为 Invoke-RestMethod

git - 如何列出将受 `git add .` 影响的所有文件?

Netbeans 中的 Python 引用外部模块

java - Netbeans 导入的 JAR 在运行时未加载

git - 分支正则表达式不起作用时的 Jenkinsfile 阶段

selenium - Jenkins 在不打开浏览器的情况下运行 selenium 测试

android - 如何通过jenkins运行appium测试脚本

git - 加速 bash 脚本将 git repo 转换为 LFS