Parcourir la source

升级:docker部署。

lym il y a 15 heures
Parent
commit
65abb9d78a

+ 18 - 0
forest-admin/admin-server/pom.xml

@@ -123,6 +123,24 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <version>1.2.2</version>
+                <configuration>
+                    <serverId>${docker.serviceId}</serverId>
+                    <dockerHost>${docker.dockerHost}</dockerHost>
+                    <imageName>docker.io/${project.artifactId}:${docker.image.version}</imageName>
+                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
+                    <resources>
+                        <resource>
+                            <targetPath>/</targetPath>
+                            <directory>${project.build.directory}</directory>
+                            <include>${project.build.finalName}.jar</include>
+                        </resource>
+                    </resources>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>

+ 7 - 0
forest-admin/admin-server/src/main/docker/Dockerfile

@@ -0,0 +1,7 @@
+FROM openjdk:8-jdk-alpine
+# time zone
+RUN echo "Asia/Shanghai" > /etc/timezone
+# VOLUME /logs
+COPY admin-server-0.0.1-SNAPSHOT.jar app.jar
+# ENV JAVA_OPTS=""
+CMD ["java","-Djava.security.egd=file:/dev/./urandom", "-Xms512m", "-Xmx512m","-jar","app.jar"]

+ 12 - 5
forest-admin/admin-server/src/main/resources/bootstrap.yml

@@ -7,16 +7,23 @@ spring:
       max-request-size: 100MB
   profiles:
     # dev 默认为开发环境 , prod 线上环境
-    active: prod
+    active: dev
   application:
     name: forest-admin
   cloud:
     nacos:
       discovery:
-        server-addr: 127.0.0.1:8898
+        server-addr: 172.16.90.201:8848
+        namespace: 519e3625-9c68-47f1-a37b-4d12e2250068
       config:
-        server-addr: 127.0.0.1:8898
-        prefix: forest-admin
+        server-addr: 172.16.90.201:8848
+        namespace: 519e3625-9c68-47f1-a37b-4d12e2250068
+        group: dz_farming
+        #prefix: forest-admin
         file-extension: yml
         # 公共配置文件
-        shared-dataids: forest-common.yml
+        #shared-dataids: forest-common.yml
+        ext-config:
+          - data-id: forest-common.yml
+            group: dz_farming
+            refresh: true

+ 0 - 90
forest-admin/forest-admin.iml

@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-actuator:2.1.13.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.13.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.13.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.13.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.13.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.11.2" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" />
-    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator-autoconfigure:2.1.13.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-actuator:2.1.13.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.9.10.3" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.9.10" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.10" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.14.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.14.RELEASE" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.9.10" level="project" />
-    <orderEntry type="library" name="Maven: io.micrometer:micrometer-core:1.1.10" level="project" />
-    <orderEntry type="library" name="Maven: org.hdrhistogram:HdrHistogram:2.1.9" level="project" />
-    <orderEntry type="library" name="Maven: org.latencyutils:LatencyUtils:2.0.3" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.1.13.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.1.14.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.1.14.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.5" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.1.13.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.1.13.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.1.13.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.11.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:2.23.4" level="project" />
-    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.9.16" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.9.16" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.1.14.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.14.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.1.14.RELEASE" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring-boot-starter:2.0.4" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring-boot-autoconfigure:2.0.4" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring:2.0.4" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-annotations:2.0.4" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-core:2.0.4" level="project" />
-    <orderEntry type="library" name="Maven: org.javassist:javassist:3.25.0-GA" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.6.0" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.6.0" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:25.1-jre" level="project" />
-    <orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
-    <orderEntry type="library" name="Maven: org.checkerframework:checker-qual:2.0.0" level="project" />
-    <orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.1.3" level="project" />
-    <orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" />
-    <orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.4.0" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-bean-validators:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-spring-ui:2.0.4" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-micro-spring-boot-starter:2.0.4" level="project" />
-  </component>
-</module>

+ 18 - 0
forest-gateway/pom.xml

@@ -81,6 +81,24 @@
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
             </plugin>
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <version>1.2.2</version>
+                <configuration>
+                    <serverId>${docker.serviceId}</serverId>
+                    <dockerHost>${docker.dockerHost}</dockerHost>
+                    <imageName>docker.io/${project.artifactId}:${docker.image.version}</imageName>
+                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
+                    <resources>
+                        <resource>
+                            <targetPath>/</targetPath>
+                            <directory>${project.build.directory}</directory>
+                            <include>${project.build.finalName}.jar</include>
+                        </resource>
+                    </resources>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 

+ 7 - 0
forest-gateway/src/main/docker/Dockerfile

@@ -0,0 +1,7 @@
+FROM openjdk:8-jdk-alpine
+# time zone
+RUN echo "Asia/Shanghai" > /etc/timezone
+# VOLUME /logs
+COPY forest-gateway-0.0.1-SNAPSHOT.jar app.jar
+# ENV JAVA_OPTS=""
+CMD ["java","-Djava.security.egd=file:/dev/./urandom", "-Xms512m", "-Xmx512m","-jar","app.jar"]

+ 10 - 4
forest-gateway/src/main/resources/bootstrap.yml

@@ -3,19 +3,25 @@ server:
 spring:
   profiles:
     # dev 默认为开发环境 , prod 线上环境
-    active: prod
+    active: dev
   application:
     name: forest-gateway
   cloud:
     nacos:
       discovery:
-        server-addr: 127.0.0.1:8898
+        server-addr: 172.16.90.201:8848
+        namespace: 519e3625-9c68-47f1-a37b-4d12e2250068
       config:
-        server-addr: 127.0.0.1:8898
+        server-addr: 172.16.90.201:8848
+        namespace: 519e3625-9c68-47f1-a37b-4d12e2250068
+        group: dz_farming
         prefix: forest-gateway
         file-extension: yml
         # 公共配置文件
-        shared-dataids: forest-common.yml
+        ext-config:
+          - data-id: forest-common.yml
+            group: dz_farming
+            refresh: true
     gateway:
       discovery:
         locator:

+ 18 - 0
forest-monitor/pom.xml

@@ -41,6 +41,24 @@
                 <groupId>com.spotify</groupId>
                 <artifactId>docker-maven-plugin</artifactId>
             </plugin>
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <version>1.2.2</version>
+                <configuration>
+                    <serverId>${docker.serviceId}</serverId>
+                    <dockerHost>${docker.dockerHost}</dockerHost>
+                    <imageName>docker.io/${project.artifactId}:${docker.image.version}</imageName>
+                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
+                    <resources>
+                        <resource>
+                            <targetPath>/</targetPath>
+                            <directory>${project.build.directory}</directory>
+                            <include>${project.build.finalName}.jar</include>
+                        </resource>
+                    </resources>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 

+ 7 - 0
forest-monitor/src/main/docker/Dockerfile

@@ -0,0 +1,7 @@
+FROM openjdk:8-jdk-alpine
+# time zone
+RUN echo "Asia/Shanghai" > /etc/timezone
+# VOLUME /logs
+COPY forest-monitor-0.0.1-SNAPSHOT.jar app.jar
+# ENV JAVA_OPTS=""
+CMD ["java","-Djava.security.egd=file:/dev/./urandom", "-Xms512m", "-Xmx512m","-jar","app.jar"]

+ 2 - 1
forest-monitor/src/main/resources/application-dev.yml

@@ -2,4 +2,5 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: http://localhost:8898
+        server-addr: 172.16.90.201:8848
+        namespace: 519e3625-9c68-47f1-a37b-4d12e2250068

+ 2 - 1
forest-monitor/src/main/resources/application.yml

@@ -12,6 +12,7 @@ spring:
   cloud:
     nacos:
       discovery:
-        server-addr: http://localhost:8898
+        server-addr: 172.16.90.201:8848
+        namespace: 519e3625-9c68-47f1-a37b-4d12e2250068
 server:
   port: 9091

+ 22 - 9
forest-portal/portal-server/pom.xml

@@ -149,16 +149,29 @@
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal>
-                        </goals>
-                    </execution>
-                </executions>
             </plugin>
-
-
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>com.spotify</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <version>1.2.2</version>
+                <configuration>
+                    <serverId>${docker.serviceId}</serverId>
+                    <dockerHost>${docker.dockerHost}</dockerHost>
+                    <imageName>docker.io/${project.artifactId}:${docker.image.version}</imageName>
+                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
+                    <resources>
+                        <resource>
+                            <targetPath>/</targetPath>
+                            <directory>${project.build.directory}</directory>
+                            <include>${project.build.finalName}.jar</include>
+                        </resource>
+                    </resources>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 

+ 7 - 0
forest-portal/portal-server/src/main/docker/Dockerfile

@@ -0,0 +1,7 @@
+FROM openjdk:8-jdk-alpine
+# time zone
+RUN echo "Asia/Shanghai" > /etc/timezone
+# VOLUME /logs
+COPY portal-server-0.0.1-SNAPSHOT.jar app.jar
+# ENV JAVA_OPTS=""
+CMD ["java","-Djava.security.egd=file:/dev/./urandom", "-Xms512m", "-Xmx512m","-jar","app.jar"]

+ 10 - 4
forest-portal/portal-server/src/main/resources/bootstrap.yml

@@ -3,18 +3,24 @@ server:
 spring:
   profiles:
     # dev 默认为开发环境 , prod 线上环境
-    active: prod
+    active: dev
   application:
     name: forest-portal
   cloud:
     nacos:
       discovery:
-        server-addr: 127.0.0.1:8898
+        server-addr: 172.16.90.201:8848
+        namespace: 519e3625-9c68-47f1-a37b-4d12e2250068
       config:
-        server-addr: 127.0.0.1:8898
+        server-addr: 172.16.90.201:8848
+        namespace: 519e3625-9c68-47f1-a37b-4d12e2250068
+        group: dz_farming
         prefix: forest-portal
         file-extension: yml
         # 公共配置文件
-        shared-dataids: forest-common.yml
+        ext-config:
+          - data-id: forest-common.yml
+            group: dz_farming
+            refresh: true
 redis:
   member: 'forest:ums:member:'

+ 34 - 0
pom.xml

@@ -45,8 +45,42 @@
         <guava.version>25.1-jre</guava.version>
         <knife4j.version>2.0.4</knife4j.version>
         <spring.boot.admin.version>2.1.6</spring.boot.admin.version>
+
+        <!-- docker 配置 -->
+        <docker.version>1</docker.version>
+        <maven.build.timestamp.format>yyyyMMdd</maven.build.timestamp.format>
     </properties>
 
+    <profiles>
+        <profile>
+            <id>dev</id>
+            <!--默认激活当前配置-->
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+            <properties>
+                <profiles.active>dev</profiles.active>
+                <!-- Docker 配置 -->
+                <docker.dockerHost>http://172.16.90.199:2376</docker.dockerHost>
+                <docker.serviceId>DockerHub</docker.serviceId>
+                <docker.sslpath></docker.sslpath>
+                <docker.image.version>1.0.0</docker.image.version>
+            </properties>
+        </profile>
+        <profile>
+            <id>pro</id>
+            <properties>
+                <profiles.active>pro</profiles.active>
+                <!-- Docker 配置 -->
+                <docker.dockerHost>http://172.16.90.199:2376</docker.dockerHost>
+                <docker.serviceId>DockerHub</docker.serviceId>
+                <!-- <docker.sslpath>../doc/ssl/pro</docker.sslpath> -->
+                <docker.sslpath></docker.sslpath>
+                <docker.image.version>${maven.build.timestamp}.${docker.version}</docker.image.version>
+            </properties>
+        </profile>
+    </profiles>
+
     <dependencies>
         <dependency>
             <groupId>org.springframework.boot</groupId>