diff --git a/README.md b/README.md
index 1ee9ca6c49a34f9847a33b0d45104721e44b7e78..0978db15587bf9d239d5d7d98af36d7e0d954bcc 100644
--- a/README.md
+++ b/README.md
@@ -43,3 +43,63 @@ com/hccake/ballcat/codegen/GeneratorApplication.java
+##### Docker打包
+
+采用 dockerfile-maven-plugin 插件生成 docker 镜像,所在路径 ballcat-codegen-backend/pom.xml
+
+```
+
+ com.spotify
+ dockerfile-maven-plugin
+
+
+ default
+
+
+ build
+
+
+
+
+ ballcat-codegen
+ latest
+
+ ${project.build.finalName}.jar
+
+
+
+```
+
+执行 `mvn clean package` 打包命令时会根据 ballcat-codegen-backend 根目录下的 Dockerfile 自动构建 docker 镜像。
+
+
+
+##### docker-compose部署
+
+打开 ballcat-codegen-backend 根目录下的 docker-compose.yml文件,修改环境变量配置你的数据库连接信息
+
+```
+version: "3.9"
+
+services:
+ codegen:
+ image: ballcat-codegen:latest
+ container_name: ballcat-codegen
+ restart: always
+ ports:
+ - "7777:7777"
+ volumes:
+ - "./logs:/workspace/logs"
+ environment:
+ - TZ=Asia/Shanghai
+ - LANG=en_US.UTF-8
+ - JAVA_OPTS=-Xmx256m -Xms256m -Xmn256m -Xss1m
+ - DB_HOST=192.168.1.66
+ - DB_PORT=3306
+ - DB_NAME=ballcat_codegen
+ - DB_USER=root
+ - DB_PASSWORD=root
+
+```
+
+终端切换到 docker-compose.yml 所在目录,执行 `docker-compose up -d` 一键部署。
diff --git a/ballcat-codegen-backend/Dockerfile b/ballcat-codegen-backend/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..d8be1f5916bec5e4a5ac3c5b5a67eb7878968c3c
--- /dev/null
+++ b/ballcat-codegen-backend/Dockerfile
@@ -0,0 +1,17 @@
+FROM openjdk:8
+MAINTAINER john
+
+ENV TZ 'Asia/Shanghai'
+ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8
+
+RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
+
+VOLUME /tmp
+
+ARG JAR_FILE
+ADD target/${JAR_FILE} /workspace/app.jar
+
+EXPOSE 8080
+ENTRYPOINT ["java","-jar","-Dfile.encoding=UTF-8","-Dsun.jnu.encoding=UTF-8","/workspace/app.jar"]
\ No newline at end of file
diff --git a/ballcat-codegen-backend/docker-compose.yml b/ballcat-codegen-backend/docker-compose.yml
new file mode 100644
index 0000000000000000000000000000000000000000..313295ac75228737514188d172fa3a13ee140e15
--- /dev/null
+++ b/ballcat-codegen-backend/docker-compose.yml
@@ -0,0 +1,20 @@
+version: "3.9"
+
+services:
+ codegen:
+ image: ballcat-codegen:latest
+ container_name: ballcat-codegen
+ restart: always
+ ports:
+ - "7777:7777"
+ volumes:
+ - "./logs:/workspace/logs"
+ environment:
+ - TZ=Asia/Shanghai
+ - LANG=en_US.UTF-8
+ - JAVA_OPTS=-Xmx256m -Xms256m -Xmn256m -Xss1m
+ - DB_HOST=192.168.1.66
+ - DB_PORT=3306
+ - DB_NAME=ballcat_codegen
+ - DB_USER=root
+ - DB_PASSWORD=root
diff --git a/ballcat-codegen-backend/pom.xml b/ballcat-codegen-backend/pom.xml
index bdbd7adff9d6c9a82ffffb177778b014e43cda5a..148f1169a4a463575d13a33a404e6357684b92e4 100644
--- a/ballcat-codegen-backend/pom.xml
+++ b/ballcat-codegen-backend/pom.xml
@@ -105,6 +105,7 @@
+ ballcat-codegen
true
@@ -189,6 +190,27 @@
+
+
+ com.spotify
+ dockerfile-maven-plugin
+
+
+ default
+
+
+ build
+
+
+
+
+ ballcat-codegen
+ latest
+
+ ${project.build.finalName}.jar
+
+
+
\ No newline at end of file
diff --git a/ballcat-codegen-backend/src/main/resources/application-dev.yml b/ballcat-codegen-backend/src/main/resources/application-dev.yml
index bef7f37ac10b53af43e76cc9e78d2ecb25c7dba1..226ba48dc90d09bc1ce3f5993b38da96f9e5020a 100644
--- a/ballcat-codegen-backend/src/main/resources/application-dev.yml
+++ b/ballcat-codegen-backend/src/main/resources/application-dev.yml
@@ -1,6 +1,5 @@
spring:
datasource:
- url: jdbc:mysql://mysql:3306/ballcat_codegen?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&createDatabaseIfNotExist=true
- username: root
- password: '123456'
-
+ url: jdbc:mysql://${DB_HOST:ballcat-mysql}:${DB_PORT:3306}/${DB_NAME:ballcat_codegen}?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&createDatabaseIfNotExist=true
+ username: ${DB_USER:root}
+ password: ${DB_PASSWORD:123456}
diff --git a/ballcat-codegen-backend/src/main/resources/application-prod.yml b/ballcat-codegen-backend/src/main/resources/application-prod.yml
new file mode 100644
index 0000000000000000000000000000000000000000..226ba48dc90d09bc1ce3f5993b38da96f9e5020a
--- /dev/null
+++ b/ballcat-codegen-backend/src/main/resources/application-prod.yml
@@ -0,0 +1,5 @@
+spring:
+ datasource:
+ url: jdbc:mysql://${DB_HOST:ballcat-mysql}:${DB_PORT:3306}/${DB_NAME:ballcat_codegen}?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&createDatabaseIfNotExist=true
+ username: ${DB_USER:root}
+ password: ${DB_PASSWORD:123456}
diff --git a/ballcat-codegen-backend/src/main/resources/logback-spring.xml b/ballcat-codegen-backend/src/main/resources/logback-spring.xml
index 6c1dfa4080abc2f287d04787c95f519b02b85bdd..a56dda71948cc0e01a367d35fe39e409cb613fc7 100644
--- a/ballcat-codegen-backend/src/main/resources/logback-spring.xml
+++ b/ballcat-codegen-backend/src/main/resources/logback-spring.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/ballcat-codegen-frontend/components.d.ts b/ballcat-codegen-frontend/components.d.ts
index eed31f3bc338c542b28b168f8b6cd04fd15f761f..d52394252b68378816c6e100fef3985200f4af9e 100644
--- a/ballcat-codegen-frontend/components.d.ts
+++ b/ballcat-codegen-frontend/components.d.ts
@@ -21,6 +21,7 @@ declare module '@vue/runtime-core' {
ADescriptionsItem: typeof import('ant-design-vue/es')['DescriptionsItem']
ADirectoryTree: typeof import('ant-design-vue/es')['DirectoryTree']
ADivider: typeof import('ant-design-vue/es')['Divider']
+ AEmpty: typeof import('ant-design-vue/es')['Empty']
AForm: typeof import('ant-design-vue/es')['Form']
AFormItem: typeof import('ant-design-vue/es')['FormItem']
AInput: typeof import('ant-design-vue/es')['Input']
diff --git a/pom.xml b/pom.xml
index db4cf3a0d19e5978cffc01167b7f0c72b580ffdd..79b9bd82764ee91771628d0733f3c6004b2423e2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,6 +22,12 @@
1.4.1
true
+
+ 1.8
+ ${java.version}
+ ${java.version}
+ UTF-8
+ UTF-8