从部署在 Openshift 中的 Redhat Decision Manager (RHDM) 中的 git 导入项目

问题描述

使用在红帽 openshift 容器平台(红帽站点)上部署红帽决策管理器中定义的步骤,我能够在我的 minishift 服务器中部署 RHDM,但是当尝试从我们公司的专用 gitlab 站点导入项目时以下错误

Caused by: java.lang.RuntimeException: org.eclipse.jgit.api.errors.TransportException: **https://gitlab.xxxxx.com/brms/DMFirstRules.git:  authentication not supported**
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.util.commands.Fetch.execute(Fetch.java:68)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.util.GitImpl.fetch(GitImpl.java:282)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.util.commands.Clone.execute(Clone.java:115)
    ... 100 more

维护的项目结构是RHDM标准一: DMFirstRules - 全局 src .project package-names-white-list pom.xml project.imports 项目.repositories

此外,当尝试从 rhdm7-qlb-loan-demo-repo 导入开源示例规则时,还面临以下问题:

10:54:54,977 ERROR [org.uberfire.java.nio.fs.jgit.util.commands.Clone] (default task-8) Error cloning origin <https://github.com/jbossdemocentral/rhdm7-qlb-loan-demo-repo.git> .
10:54:54,982 ERROR [org.kie.workbench.common.screens.examples.backend.server.ProjectImportServiceImpl] (default task-8) Error during create repository: java.lang.RuntimeException: org.uberfire.java.nio.fs.jgit.util.commands.Clone$CloneException: 
Error cloning origin <https://github.com/jbossdemocentral/rhdm7-qlb-loan-demo-repo.git> .
    at deployment.ROOT.war//org.guvnor.structure.backend.repositories.git.GitRepositoryBuilder.createFileSystem(GitRepositoryBuilder.java:159)
    at deployment.ROOT.war//org.guvnor.structure.backend.repositories.git.GitRepositoryBuilder.build(GitRepositoryBuilder.java:92)
    at deployment.ROOT.war//org.guvnor.structure.backend.repositories.git.GitRepositoryFactoryHelper.newRepository(GitRepositoryFactoryHelper.java:101)
    at deployment.ROOT.war//org.guvnor.structure.backend.repositories.git.GitRepositoryFactoryHelper$Proxy$_$$_WeldClientProxy.newRepository(UnkNown Source)
    at deployment.ROOT.war//org.guvnor.structure.backend.repositories.RepositoryFactoryImpl.newRepository(RepositoryFactoryImpl.java:58)
    at deployment.ROOT.war//org.guvnor.structure.backend.repositories.RepositoryFactoryImpl$Proxy$_$$_WeldClientProxy.newRepository(UnkNown Source)
    at deployment.ROOT.war//org.kie.workbench.common.screens.examples.backend.server.ProjectImportServiceImpl.resolveGitRepository(ProjectImportServiceImpl.java:111)
    at deployment.ROOT.war//org.kie.workbench.common.screens.examples.backend.server.BaseProjectImportService.getProjects(BaseProjectImportService.java:275)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.jboss.weld.core@3.0.6.Final-redhat-00003//org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:38)
    at org.jboss.weld.core@3.0.6.Final-redhat-00003//org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:106)
    at deployment.ROOT.war//org.kie.workbench.common.screens.examples.service.disposable$ImportService$Prioritydisposable$ProjectImportService$42355375$Proxy$_$$_WeldClientProxy.getProjects(UnkNown Source)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at deployment.ROOT.war//org.jboss.errai.bus.server.io.AbstractRPcmethodCallback.invokeMethodFromMessage(AbstractRPcmethodCallback.java:65)
    at deployment.ROOT.war//org.jboss.errai.bus.server.io.ValueReplyRPCEndpointCallback.callback(ValueReplyRPCEndpointCallback.java:40)
    at deployment.ROOT.war//org.jboss.errai.bus.server.io.RemoteServiceCallback.callback(RemoteServiceCallback.java:54)
    at deployment.ROOT.war//org.jboss.errai.cdi.server.CDIExtensionPoints$2.callback(CDIExtensionPoints.java:448)
    at deployment.ROOT.war//org.jboss.errai.bus.server.DeliveryPlan.deliver(DeliveryPlan.java:47)
    at deployment.ROOT.war//org.jboss.errai.bus.server.ServerMessageBusImpl.sendGlobal(ServerMessageBusImpl.java:297)
    at deployment.ROOT.war//org.jboss.errai.bus.server.Simpledispatcher.dispatchGlobal(Simpledispatcher.java:46)
    at deployment.ROOT.war//org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:96)
    at deployment.ROOT.war//org.jboss.errai.bus.server.service.ErraiServiceImpl.store(ErraiServiceImpl.java:113)
    at deployment.ROOT.war//org.jboss.errai.bus.server.servlet.DefaultBlockingServlet.doPost(DefaultBlockingServlet.java:144)
    at javax.servlet.api@1.0.0.Final-redhat-1//javax.servlet.http.HttpServlet.service(HttpServlet.java:706)
    at javax.servlet.api@1.0.0.Final-redhat-1//javax.servlet.http.HttpServlet.service(HttpServlet.java:791)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
    at io.undertow.websocket@2.0.28.SP1-redhat-00001//io.undertow.websockets.jsr.JsrWebSocketFilter.doFilter(JsrWebSocketFilter.java:173)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.ROOT.war//org.uberfire.ext.security.server.SecureHeadersFilter.doFilter(SecureHeadersFilter.java:110)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at deployment.ROOT.war//org.uberfire.ext.security.server.SecurityIntegrationFilter.doFilter(SecurityIntegrationFilter.java:70)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletdispatchingHandler.handleRequest(ServletdispatchingHandler.java:36)
    at org.wildfly.extension.undertow@7.2.6.GA-redhat-00001//org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.security.SSLinformationAssociationHandler.handleRequest(SSLinformationAssociationHandler.java:132)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.handlers.disableCacheHandler.handleRequest(disableCacheHandler.java:33)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:53)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:59)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at org.wildfly.extension.undertow@7.2.6.GA-redhat-00001//org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at org.wildfly.extension.undertow@7.2.6.GA-redhat-00001//org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletinitialHandler.handleFirstRequest(ServletinitialHandler.java:269)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletinitialHandler.access$100(ServletinitialHandler.java:78)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletinitialHandler$2.call(ServletinitialHandler.java:133)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletinitialHandler$2.call(ServletinitialHandler.java:130)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    at org.wildfly.extension.undertow@7.2.6.GA-redhat-00001//org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
    at org.wildfly.extension.undertow@7.2.6.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
    at org.wildfly.extension.undertow@7.2.6.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
    at org.wildfly.extension.undertow@7.2.6.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
    at org.wildfly.extension.undertow@7.2.6.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1504)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletinitialHandler.dispatchRequest(ServletinitialHandler.java:249)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletinitialHandler.access$000(ServletinitialHandler.java:78)
    at io.undertow.servlet@2.0.28.SP1-redhat-00001//io.undertow.servlet.handlers.ServletinitialHandler$1.handleRequest(ServletinitialHandler.java:99)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)
    at io.undertow.core@2.0.28.SP1-redhat-00001//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
    at org.jboss.threads@2.3.2.Final-redhat-1//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
    at org.jboss.threads@2.3.2.Final-redhat-1//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
    at org.jboss.threads@2.3.2.Final-redhat-1//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
    at org.jboss.threads@2.3.2.Final-redhat-1//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.RuntimeException: org.uberfire.java.nio.fs.jgit.util.commands.Clone$CloneException: Error cloning origin <https://github.com/jbossdemocentral/rhdm7-qlb-loan-demo-repo.git> .
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider.createNewGitRepo(JGitFileSystemProvider.java:808)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider.createNewGitRepo(JGitFileSystemProvider.java:746)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider.lambda$newFileSystem$3(JGitFileSystemProvider.java:643)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.manager.JGitFileSystemsManager.lambda$createFileSystemsupplier$0(JGitFileSystemsManager.java:115)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.manager.MemoizedFileSystemssupplier.lambda$get$0(MemoizedFileSystemssupplier.java:36)
    at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.manager.MemoizedFileSystemssupplier.get(MemoizedFileSystemssupplier.java:35)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.JGitFileSystemProxy.getRootDirectories(JGitFileSystemProxy.java:228)
    at deployment.ROOT.war//org.uberfire.java.nio.file.FileSystemMetadata.<init>(FileSystemMetadata.java:32)
    at deployment.ROOT.war//org.uberfire.io.impl.AbstractIOService.registerFS(AbstractIOService.java:255)
    at deployment.ROOT.war//org.uberfire.io.impl.AbstractIOService.newFileSystem(AbstractIOService.java:233)
    at deployment.ROOT.war//org.guvnor.structure.backend.repositories.git.GitRepositoryBuilder.newFileSystem(GitRepositoryBuilder.java:165)
    at deployment.ROOT.war//org.guvnor.structure.backend.repositories.git.GitRepositoryBuilder.createFileSystem(GitRepositoryBuilder.java:149)
... 86 more
Caused by: org.uberfire.java.nio.fs.jgit.util.commands.Clone$CloneException: Error cloning origin <https://github.com/jbossdemocentral/rhdm7-qlb-loan-demo-repo.git> .
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.util.commands.Clone.execute(Clone.java:136)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.util.Git.clone(Git.java:171)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider.createNewGitRepo(JGitFileSystemProvider.java:797)
    ... 98 more
Caused by: java.lang.RuntimeException: org.eclipse.jgit.api.errors.TransportException: https://github.com/jbossdemocentral/rhdm7-qlb-loan-demo-repo.git:  cannot open git-upload-pack
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.util.commands.Fetch.execute(Fetch.java:68)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.util.GitImpl.fetch(GitImpl.java:282)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.util.commands.Clone.execute(Clone.java:115)
    ... 100 more
Caused by: org.eclipse.jgit.api.errors.TransportException: https://github.com/jbossdemocentral/rhdm7-qlb-loan-demo-repo.git:  cannot open git-upload-pack
    at deployment.ROOT.war//org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:254)
    at deployment.ROOT.war//org.uberfire.java.nio.fs.jgit.util.commands.Fetch.execute(Fetch.java:64)
... 102 more
Caused by: org.eclipse.jgit.errors.TransportException: https://github.com/jbossdemocentral/rhdm7-qlb-loan-demo-repo.git:  cannot open git-upload-pack
    at deployment.ROOT.war//org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:587)
    at deployment.ROOT.war//org.eclipse.jgit.transport.TransportHttp.openFetch(TransportHttp.java:361)
    at deployment.ROOT.war//org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:137)
    at deployment.ROOT.war//org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:123)
    at deployment.ROOT.war//org.eclipse.jgit.transport.Transport.fetch(Transport.java:1271)
    at deployment.ROOT.war//org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:243)
    ... 103 more
Caused by: java.net.UnkNownHostException: github.com
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220)
    at java.base/java.net.socksSocketImpl.connect(SocksSocketImpl.java:403)
    at java.base/java.net.socket.connect(Socket.java:609)
    at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:285)
    at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
    at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:265)
    at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:372)
    at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1227)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
    at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)
    at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
    at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:334)
    at deployment.ROOT.war//org.eclipse.jgit.transport.http.JDKhttpconnection.getResponseCode(JDKhttpconnection.java:108)
    at deployment.ROOT.war//org.eclipse.jgit.util.HttpSupport.response(HttpSupport.java:207)
    at deployment.ROOT.war//org.eclipse.jgit.transport.TransportHttp.connect(TransportHttp.java:501)
    ... 108 more

我已经检查并重新检查了 RHDM 的步骤。 gitlab 站点的相同用户名和密码在我的本地运行良好,但在 Openshift 中却没有。甚至在pod的部署中上传了ssh id_RSA作为secret,仍然没有解决

解决方法

即使在pod的部署中将ssh id_RSA作为secret上传,仍然没有解决。

考虑到 JGit 错误涉及 HTTPS URL,任何与 SSH 相关的元素都不适用于此处。

检查您的 Openshift 上下文中使用的 JGit 版本:GitLab has discontinued weak cryptographic standards,并且 JGit 需要是最新的。

除此之外,它可能是一个 timeout issue,一个 NTLM issue
此外,使用 PAT (Personal Access Token) 而不是密码可能会有所帮助。