reghao 4 년 전
부모
커밋
9d019a4efc

+ 16 - 0
common/Dockerfile

@@ -0,0 +1,16 @@
+# TODO 在 docker 中编译构建镜像
+# 1.编译源码
+FROM maven:3.8.3-jdk-11-slim AS builder
+
+ADD ./pom.xml pom.xml
+ADD ./src src/
+
+RUN mvn clean package -Dmaven.test.skip=true
+
+# 2.构建 docker 镜像
+From alpine/openjdk:11
+
+WORKDIR /app
+COPY target/autodop-dmaster.jar /app/app.jar
+#RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
+ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/app.jar"]

+ 0 - 0
scripts/shutdown.sh → dagent/bin/shutdown.sh


+ 5 - 0
dagent/bin/start.sh

@@ -0,0 +1,5 @@
+#!/bin/bash
+
+app_dir=`pwd`
+app_name='autodop-dagent.jar'
+nohup java -jar ${app_dir}"/"${app_name} ${app_dir}/mqtt.json > console.log 2>&1 &

+ 1 - 1
dagent/pom.xml

@@ -41,7 +41,7 @@
                     </descriptorRefs>
                     <!-- 不设置此属性则生成的 jar 包名字会带有 jar-with-dependencies -->
                     <appendAssemblyId>false</appendAssemblyId>
-                    <!--<outputDirectory>${project.build.outputDir}</outputDirectory>-->
+                    <outputDirectory>${project.build.outputDir}</outputDirectory>
                 </configuration>
                 <executions>
                     <execution>

+ 2 - 3
dmaster/Dockerfile

@@ -8,7 +8,6 @@ RUN mvn clean package -Dmaven.test.skip=true
 From alpine/openjdk:11
 
 WORKDIR /app
-COPY --from=builder target/spider-crawler-exec.jar /app/app.jar
+COPY target/autodop-dmaster.jar /app/app.jar
 #RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
-
-ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/app.jar", "/app/spider-crawler.json"]
+ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/app.jar"]

+ 5 - 0
dmaster/bin/shutdown.sh

@@ -0,0 +1,5 @@
+#!/bin/bash
+
+app='autodop-dmaster.jar'
+pid=`jps | grep ${app} | awk '{print $1}'`
+kill -15 ${pid}

+ 5 - 0
dmaster/bin/start.sh

@@ -0,0 +1,5 @@
+#!/bin/bash
+
+app_dir=`pwd`
+app_name='autodop-dmaster.jar'
+nohup java -jar ${app_dir}"/"${app_name} > console.log 2>&1 &

+ 3 - 3
dmaster/pom.xml

@@ -275,10 +275,10 @@
                         </goals>
                     </execution>
                 </executions>
-                <!--<configuration>
-                    &lt;!&ndash; 生成的 jar 包输出到指定目录 &ndash;&gt;
+                <configuration>
+                    <!-- 生成的 jar 包输出到指定目录 -->
                     <outputDirectory>${project.build.outputDir}</outputDirectory>
-                </configuration>-->
+                </configuration>
             </plugin>
         </plugins>
     </build>

+ 12 - 6
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/packer/ZipPack.java

@@ -2,7 +2,6 @@ package cn.reghao.autodop.dmaster.app.util.buildtool.packer;
 
 import cn.reghao.autodop.common.msg.rpc.dto.app.PackType;
 import cn.reghao.autodop.common.util.compression.ZipFiles;
-import cn.reghao.autodop.dmaster.app.model.po.config.build.LocalBuildDir;
 import cn.reghao.autodop.dmaster.app.model.po.config.build.PackerConfig;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.FileUtils;
@@ -42,14 +41,21 @@ public class ZipPack implements CodePacker {
 
     @Override
     public String pack(String appId, String commitId, String appRootPath) throws Exception {
+        if (binfilesDirname == null) {
+            throw new Exception("存放编译产物的目录不能是 null");
+        }
+
         String binfilesDirPath = appRootPath + File.separator + binfilesDirname;
         String filename = String.format("%s_%s.zip", appId, commitId);
-        String dst = targetPath + File.separator + filename;
-        if (new File(dst).exists()) {
-            throw new Exception(dst + " 已存在");
+        String dest = targetPath + File.separator + filename;
+        // TODO 实现域名自定义
+        String url = String.format("http://localhost:4020/api/app/bd/dl/%s", filename);
+        File target = new File(dest);
+        if (!target.exists()) {
+            ZipFiles.zip(new File(binfilesDirPath), dest);
         }
-        ZipFiles.zip(new File(binfilesDirPath), dst);
-        return String.format("http://localhost:4020/api/app/bd/dl/%s", filename);
+
+        return url;
     }
 
     @Override

+ 0 - 4
scripts/start.sh

@@ -1,4 +0,0 @@
-#!/bin/bash
-
-app_path='/opt/apps/dagent/autodop-dagent.jar'
-nohup java -jar ${app_path} > console.log 2>&1 &