Quellcode durchsuchen

feat: 前端构建创建nginx文件

370774330@qq.com vor 5 Jahren
Ursprung
Commit
819e65217c

+ 1 - 0
core/src/main/java/seecoder/devcloud/core/pipeline/PipelineException.java

@@ -11,6 +11,7 @@ public class PipelineException extends Exception{
     public static final String CONFIG_TRANSFER_ERROR = "流水线配置转换发生错误";
     public static final String GIT_CLONE_ERROR = "从仓库拉取代码发生错误";
     public static final String DOCKERFILE_CREATE_ERROR = "创建dockerfile文件错误";
+    public static final String NGINX_CONFIG_CREATE_ERROR = "创建nginx配置文件错误";
     public static final String IMAGE_BUILD_ERROR = "构建镜像构建推送到仓库错误";
     public static final String INGRESS_CREATE_ERROR = "K8S ingress 创建错误";
     public static final String SERVICE_CREATE_ERROR = "K8S service 创建错误";

+ 10 - 1
core/src/main/java/seecoder/devcloud/core/pipeline/handler/NodeImageBuildHandler.java

@@ -60,7 +60,7 @@ public class NodeImageBuildHandler extends AbstractHandler{
             context.appendErrorResult(PipelineException.GIT_CLONE_ERROR,e);
             throw new PipelineException(HttpStatus.SC_SERVICE_UNAVAILABLE, PipelineException.GIT_CLONE_ERROR,e);
         }
-        //2. 帮助学生创建dockerfile
+        //2. 帮助学生创建dockerfile和nginx配置
         Path dockerfile = Paths.get(directory.toString(), "Dockerfile");
         try {
             PipelineTemplateTable.copyTemplateDockerfile(templateName,dockerfile);
@@ -68,6 +68,15 @@ public class NodeImageBuildHandler extends AbstractHandler{
             context.appendErrorResult(PipelineException.DOCKERFILE_CREATE_ERROR,e);
             throw new PipelineException(HttpStatus.SC_SERVICE_UNAVAILABLE,PipelineException.DOCKERFILE_CREATE_ERROR,e);
         }
+        Path nginx = Paths.get(directory.toString(),"nginx.conf");
+        try {
+            Files.createFile(nginx);
+            Files.write(nginx,nginxConfig.getBytes());
+        } catch (IOException e) {
+            throw new PipelineException(HttpStatus.SC_SERVICE_UNAVAILABLE,PipelineException.NGINX_CONFIG_CREATE_ERROR,e);
+        }
+
+
         //3. 镜像构建
         String imageTag = String.valueOf(new Date().getTime());
         StringBuilder sb = new StringBuilder();

+ 1 - 0
core/src/main/resources/template/dockerfile/NODE-10

@@ -8,4 +8,5 @@ ADD . /code
 RUN yarn build
 
 FROM nginx:1.19-alpine
+COPY nginx.conf /etc/nginx/conf.d/nginx.conf
 COPY --from=builder /code/dist/ /var/www/html/dist/