This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a commit to branch dev-2.1.2
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


The following commit(s) were added to refs/heads/dev-2.1.2 by this push:
     new 44de67624 [Improve] build project improvement
44de67624 is described below

commit 44de67624184dae892aa869bfb1c09e5e67c9106
Author: benjobs <[email protected]>
AuthorDate: Thu Oct 5 18:51:57 2023 +0800

    [Improve] build project improvement
---
 .../console/core/task/ProjectBuildTask.java           | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ProjectBuildTask.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ProjectBuildTask.java
index b423b0527..5a5fcbffd 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ProjectBuildTask.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/task/ProjectBuildTask.java
@@ -22,10 +22,12 @@ import org.apache.streampark.common.util.Utils;
 import org.apache.streampark.console.base.util.GitUtils;
 import org.apache.streampark.console.core.entity.Project;
 import org.apache.streampark.console.core.enums.BuildState;
+import org.apache.streampark.console.core.enums.GitCredential;
 
 import ch.qos.logback.classic.Logger;
 import lombok.extern.slf4j.Slf4j;
 import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.errors.InvalidRemoteException;
 import org.eclipse.jgit.lib.StoredConfig;
 
 import java.io.File;
@@ -103,9 +105,24 @@ public class ProjectBuildTask extends AbstractLogFileTask {
       git.close();
       return true;
     } catch (Exception e) {
+      if (e instanceof InvalidRemoteException) {
+        GitCredential gitCredential = 
GitCredential.of(project.getGitCredential());
+        if (gitCredential == GitCredential.HTTPS) {
+          project.setGitCredential(GitCredential.SSH.getValue());
+          String url =
+              project
+                  .getUrl()
+                  .replaceAll(
+                      "(https://|http://)(.*?)/(.*?)/(.*?)(\\.git|)\\s*$", 
"git@$2:$3/$4.git");
+          project.setUrl(url);
+          fileLogger.info(
+              "clone project by https(http) failed, Now try to clone project 
by ssh...");
+          return cloneSourceCode(project);
+        }
+      }
       fileLogger.error(
           String.format(
-              "[StreamPark] project [%s] branch [%s] git clone failure, err: 
%s",
+              "[StreamPark] project [%s] branch [%s] git clone failed, err: 
%s",
               project.getName(), project.getBranches(), e));
       fileLogger.error(String.format("project %s clone error ", 
project.getName()), e);
       return false;

Reply via email to