小编典典

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

jenkins

我的NetBeans git设置似乎出了点问题。我在Windows 8.1上使用NetBeans IDE
8.0.1,并且在GitLab.com上托管了一个私人git存储库。但是自从GitLab
更新到版本7.3.1以来我无法从NetBeans连接到git存储库。无论是否获取,拉入或推入,都将得到相同的响应:
_“无法通过https://gitlab.com/ <组名> / < 项目名> .git连接到远程存储库”_(组出于隐私原因,省略了名称和项目名称)

我发现了类似的(较旧的)问题,但我认为这不是同一个问题。我认为我的问题与GitLab社区版7.3.1的发布有关,尽管我看不出是什么原因造成的。

NetBeans社区的此错误报告中,有人建议单击
“被动模式”
可以解决此问题,但是我不知道在哪里可以找到这种被动模式。在谷歌搜索被动模式下,我认为它与FTP有关,但是我使用https选项而不是ftps选项来连接git存储库,因此我认为这不适用于我的情况(如果我是错误的)。

有关NetBeans社区的另一个错误报告建议,我需要在gitconfig文件中添加以下行:

[http]
    sslVerify=false

我将其添加到项目文件夹中的 .git / config 文件和用户文件夹中的 .gitconfig 文件,但这并不能解决问题。

另外,再次从GitLab.com克隆git存储库并不能解决问题。实际上,当我尝试克隆时,会得到相同的错误响应(如上所述)。

如果我在Windows上使用GitBash,我仍然可以连接到git并执行所有git命令。因此,我现在将使用它,但我也希望能够在NetBeans中使用Git存储库浏览器。

编辑:

我还在运行具有自动生成和测试功能的Jenkins,它也连接到GitLab.com上的同一git存储库。我有一段时间没有检查其日志,但是也无法获取。因此,该问题不仅限于NetBeans,因为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

同样,出于隐私原因,省略了组名和项目名。

我想让我的单元测试自动执行,所以很高兴知道确切更改了哪些内容以及如何修复它。

现在,此问题也已作为问题发布到NetBeans.orgGitLab邮件列表中


阅读 465

收藏
2020-07-25

共1个答案

小编典典

这个问题很容易解决。

John
Gibson(@jgibson)在GitLabCE问题#624上评论说他遇到了类似的错误。他解释说,“他 发现服务器上所有可用密码至少为256位。标准OracleJava附带的加密对于某些算法限制为128位。在 从Oracle安装了无限强度的加密软件包后,问题就消失了。请注意,无限强度软件包仅在美国合法可用。如果您不在美国,那么我认为OpenJDK可以代替。”

我遵循了他提到的链接,下载了 Java密码学扩展(JCE)无限强度管辖权策略文件7, 并按照下载随附的 自述 文件中的步骤进行操作。

我重新启动了NetBeans,问题已解决。

如下面的SO问题所示,这也适用于Eclipse IDE:“ Gitlab无法打开git-upload-packerror”

我尚未尝试使其与Jenkins一起使用,但我认为它也很容易修复。

我差点忘了,我在GitLab邮件列表上的Achilleas
Pipis
找到了这个答案。

2020-07-25