Parcourir la source

Merge branch 'internal-paas' of http://gogs.seec.seecoder.cn/FanYanPeng/SEEC-Gitlab into internal-paas

Azure il y a 2 ans
Parent
commit
a969b5abb3

+ 16 - 4
Dockerfile

@@ -6,16 +6,28 @@ ENV PROJECT_NAME app
 # 项目所在的工作目录
 ENV WORK_PATH /opt/$PROJECT_NAME
 
+# 项目所在的git分支
+ENV GIT_BRANCH internal-paas
+
+ENV GIT_URL http://gogs.seec.seecoder.cn/FanYanPeng/SEEC-Gitlab.git
+
 # 跳转到工作目录
 WORKDIR $WORK_PATH
 
+RUN git clone --branch $GIT_BRANCH $GIT_URL .
+
+RUN mkdir /root/.m2 && cp settings.xml /root/.m2/settings.xml
+
+# 多线程下载依赖,只要pom文件不改变,依赖不会重复下载
+RUN mvn clean install -DskipTests -DfinalName=$PROJECT_NAME
+
 COPY . .
 
-ADD settings.xml /root/.m2/settings.xml
+# ---
+# 默认情况下,前面的步骤都会被缓存下来
 
-# 使用缓存进行构建
-RUN --mount=type=cache,target=/root/.m2 \
-  mvn clean install -DskipTests -DfinalName=$PROJECT_NAME
+# 多线程下载依赖,只要pom文件不改变,依赖不会重复下载
+RUN mvn clean install -DskipTests -DfinalName=$PROJECT_NAME
 
 FROM adoptopenjdk/openjdk8
 

+ 14 - 1
seecoder-gitlab-server/src/main/java/com/nju/edu/gitlab/service/impl/ProjectServiceImpl.java

@@ -46,9 +46,14 @@ public class ProjectServiceImpl implements ProjectService {
     public ProjectVO createProject(ProjectDTO projectDTO) throws GitLabApiException {
         String projectName=projectDTO.getProjectName();
         Visibility visibility=projectDTO.getVisibility();
+        //日志输出项目名称
+        log.info("projectName:"+projectName);
+
         Project project=new Project();
         project.setName(projectName);
         project.setVisibility(visibility);
+        project.setPath(projectName);
+
         project=gitlabApi.getProjectApi().createProject(project);
         return ProjectVO.builder()
                 .projectId(Math.toIntExact(project.getId()))
@@ -62,10 +67,17 @@ public class ProjectServiceImpl implements ProjectService {
         int userId=projectDTO.getUserId();
         GitlabUser gitlabUser = getGitlabUser(userId);
         Project project=new Project();
+        log.info("准备创建项目:{}",projectDTO.getProjectName());
         project.setName(projectDTO.getProjectName());
         project.setVisibility(projectDTO.getVisibility());
+        project.setPath(projectDTO.getProjectName());
+        Namespace namespace=new Namespace();
+        namespace.setName(projectDTO.getProjectName());
+        namespace.setPath(projectDTO.getProjectName());
+        project.setNamespace(namespace);
         gitlabApi.setSudoAsId((long) gitlabUser.getGitlabUserId());
         project=gitlabApi.getProjectApi().createProject(project);
+        log.info("创建私有项目成功。下一步是加上webhook");
         gitlabApi.unsudo();
         return ProjectVO.builder()
                 .projectId(Math.toIntExact(project.getId()))
@@ -155,7 +167,8 @@ public class ProjectServiceImpl implements ProjectService {
         boolean doPushEvents=webHookDTO.isDoPushEvents();
         boolean doIssueEvents=webHookDTO.isDoIssueEvents();
         boolean doMergeRequestsEvents=webHookDTO.isDoMergeRequestsEvents();
-        gitlabApi.getProjectApi().addHook(projectId, url, doPushEvents, doIssueEvents, doMergeRequestsEvents);
+        log.info("给项目{}添加webhook,url是{}",projectId,url);
+        gitlabApi.getProjectApi().addHook((long)projectId, url, doPushEvents, doIssueEvents, doMergeRequestsEvents);
         return true;
     }