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;