Browse Source

fix: 构建非master分支checkout错误

370774330@qq.com 5 years ago
parent
commit
4bfea40461

+ 3 - 1
web/src/main/java/cn/seecoder/web/core/pipeline/handler/JavaImageBuildHandler.java

@@ -12,6 +12,8 @@ import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.apache.http.HttpStatus;
 import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.lib.Ref;
+
 import cn.seecoder.api.docker.DockerApi;
 import cn.seecoder.api.git.GitApi;
 import cn.seecoder.common.util.SpringUtil;
@@ -61,7 +63,7 @@ public class JavaImageBuildHandler extends AbstractHandler {
             //注:temp文件/目录系统会定时删,实际文件名喂 prefix + 它生成的suffix随机数,所以不会命名冲突
             directory = Files.createTempDirectory("seecoder-devcloud-");
             Git git = gitApi.clone(repoUrl, directory.toString());
-            git.checkout().setName(branchName).call();
+            git.checkout().setCreateBranch(false).setStartPoint("origin/" + branchName).setName("origin/" + branchName).call();
         } catch (Exception e) {
             context.appendErrorResult(PipelineException.GIT_CLONE_ERROR, e);
             throw new PipelineException(HttpStatus.SC_SERVICE_UNAVAILABLE, PipelineException.GIT_CLONE_ERROR, e);