Skip to content

Commit 5ed6d4e

Browse files
committed
feat: add docker deploy
1 parent a6bab59 commit 5ed6d4e

File tree

10 files changed

+1056
-0
lines changed

10 files changed

+1056
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
server:
2+
port: 9090
3+
4+
spring:
5+
servlet:
6+
multipart:
7+
max-file-size: 10MB
8+
max-request-size: 10MB
9+
jackson:
10+
date-format: yyyy-MM-dd HH:mm:ss
11+
datasource:
12+
driver-class-name: org.mariadb.jdbc.Driver
13+
username: root
14+
password: 111111
15+
url: jdbc:mariadb://tiny-engine-data:3306/tiny_engine_data_java?useUnicode=true&useSSL=false&characterEncoding=utf8
16+
type: com.alibaba.druid.pool.DruidDataSource
17+
druid:
18+
initial-size: 5 # 连接池初始化时建立的连接数,默认值为 0。
19+
min-idle: 5 # 连接池中最小的空闲连接数,默认值为 0。
20+
max-active: 20 # 连接池中最大活动连接数(即同时可以被请求的连接数),默认值为 8。
21+
test-on-borrow: true # 在从连接池获取连接时,是否进行有效性检查,默认值为 false。
22+
validation-query: SELECT 1 # 用于检测连接是否有效的 SQL 查询语句,通常为简单的查询,比如 `SELECT 1`。如果连接不可用,会被关闭并重新建立。
23+
max-wait: 60000 # 获取连接的最大等待时间(单位:毫秒),超时会抛出异常,默认值为 30000。
24+
time-between-eviction-runs-millis: 60000 # 空闲连接检测线程运行的时间间隔(单位:毫秒)。空闲连接检测线程会定期检查空闲连接,默认值为 30000。
25+
min-evictable-idle-time-millis: 300000 # 连接在池中保持空闲的最小时间(单位:毫秒)。如果空闲时间超过这个值,连接将被回收,默认值为 1800000。
26+
pool-prepared-statements: true # 是否缓存 PreparedStatement 对象,默认值为 true。
27+
max-open-prepared-statements: 20 # 最大缓存的 PreparedStatement 数量,默认值为 -1,表示无限制。如果 `pool-prepared-statements` 设置为 true,设置此值以限制缓存数量。
28+
config:
29+
activate:
30+
on-profile: dev
31+
#切面启用
32+
aop:
33+
proxy-target-class: true #默认为false
34+
auto: true #默认为false
35+
springdoc:
36+
api-docs:
37+
#是否开启文档功能
38+
enabled: true
39+
#swagger后端请求地址
40+
path: /api-docs
41+
swagger-ui:
42+
enabled: false
43+
path: /swagger-ui.html #自定义swagger-ui HTML文档路径
44+
#包扫描路径
45+
packages-to-scan: com.tinyengine.it.controller
46+
47+
mybatis-plus:
48+
mapper-locations: classpath:mappers/*.xml
49+
configuration:
50+
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
51+
map-underscore-to-camel-case: true
52+
auto-mapping-behavior: full
53+
com.tinyengine.it.mapper: debug
54+
type-handlers-package: com.tinyengine.it.common.handler
55+
56+
57+
logging:
58+
level:
59+
ROOT: INFO
60+
druid.sql.Statement: INFO
61+
pattern:
62+
file: "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"
63+
file:
64+
name: /logs
65+
66+
cors:
67+
allowed-origins: "*"
68+

docker-compose-linux-x86_64

-60.1 MB
Binary file not shown.

docker-compose.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
version: '3'
2+
services:
3+
tiny-engine-data:
4+
image: mysql:5.7
5+
container_name: tiny-engine-data
6+
ports:
7+
- "3306:3306"
8+
environment:
9+
MYSQL_ROOT_PASSWORD: 111111
10+
MYSQL_DATABASE: tiny_engine_data_java
11+
TZ: Asia/Shanghai
12+
volumes:
13+
- ./docker-deploy-data/mysql/data/:/var/lib/mysql/
14+
- ./docker-deploy-data/mysql/conf/:/etc/mysql/conf.d/
15+
- ./docker-deploy-data/mysql/init/:/docker-entrypoint-initdb.d/
16+
- ./docker-deploy-data/mysql/logs/:/logs/
17+
18+
tiny-engine-back:
19+
image: tiny-engine-back
20+
container_name: tiny-engine-back
21+
build:
22+
context: .
23+
dockerfile: dockerfile
24+
ports:
25+
- "9090:9090"
26+
depends_on:
27+
- tiny-engine-data
28+
29+
tiny-engine:
30+
image: tiny-engine
31+
container_name: tiny-engine
32+
build:
33+
context: ../tiny-engine/
34+
dockerfile: dockerfile
35+
ports:
36+
- "80:80"
37+
volumes:
38+
- ./docker-deploy-data/nginx.conf:/etc/nginx/nginx.conf
39+
depends_on:
40+
- tiny-engine-back
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[client]
2+
default-character-set=utf8mb4
3+
[mysql]
4+
default-character-set=utf8mb4
5+
[mysqld]
6+
init-connect="SET collation_connection = utf8mb4_unicode_ci"
7+
init-connect="SET NAMES utf8mb4"
8+
collation-server=utf8mb4_unicode_ci
9+
character-set-server=utf8mb4
10+

docker-deploy-data/mysql/init/create_all_tables_ddl_v1.0.0.mysql.sql

Lines changed: 679 additions & 0 deletions
Large diffs are not rendered by default.

docker-deploy-data/mysql/init/init_data_for_test_v1.0.0.sql

Lines changed: 175 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
ALTER TABLE t_component DROP INDEX u_idx_component;
2+
ALTER TABLE t_component ADD INDEX u_idx_component (tenant_id, name_en, version, library_id);
3+
4+
ALTER TABLE t_datasource DROP INDEX u_idx_datasource;
5+
ALTER TABLE t_datasource ADD INDEX u_idx_datasource (`tenant_id`, `platform_id`, `name`, `app_id`);
6+
7+
ALTER TABLE t_platform_history MODIFY sub_count int NULL;
8+
ALTER TABLE t_platform_history MODIFY publish_url varchar(255) NULL;
9+
10+
ALTER TABLE t_app MODIFY tenant_id varchar(60) NULL;
11+
ALTER TABLE t_app_extension MODIFY tenant_id varchar(60) NULL;
12+
ALTER TABLE t_block MODIFY tenant_id varchar(60) NULL;
13+
ALTER TABLE t_block_carriers_relation MODIFY tenant_id varchar(60) NULL;
14+
ALTER TABLE t_block_group MODIFY tenant_id varchar(60) NULL;
15+
ALTER TABLE t_block_history MODIFY tenant_id varchar(60) NULL;
16+
ALTER TABLE t_business_category MODIFY tenant_id varchar(60) NULL;
17+
ALTER TABLE t_component MODIFY tenant_id varchar(60) NULL;
18+
ALTER TABLE t_component_library MODIFY tenant_id varchar(60) NULL;
19+
ALTER TABLE t_datasource MODIFY tenant_id varchar(60) NULL;
20+
ALTER TABLE t_i18n_entry MODIFY tenant_id varchar(60) NULL;
21+
ALTER TABLE t_material MODIFY tenant_id varchar(60) NULL;
22+
ALTER TABLE t_material_history MODIFY tenant_id varchar(60) NULL;
23+
ALTER TABLE t_page MODIFY tenant_id varchar(60) NULL;
24+
ALTER TABLE t_page_history MODIFY tenant_id varchar(60) NULL;
25+
ALTER TABLE t_page_template MODIFY tenant_id varchar(60) NULL;
26+
ALTER TABLE t_platform MODIFY tenant_id varchar(60) NULL;
27+
ALTER TABLE t_platform_history MODIFY tenant_id varchar(60) NULL;
28+
ALTER TABLE t_task_record MODIFY tenant_id varchar(60) NULL;
29+
ALTER TABLE t_user MODIFY tenant_id varchar(60) NULL;
30+
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTER TABLE t_block_group DROP INDEX u_idx_block_group;
2+
ALTER TABLE t_block_group ADD INDEX u_idx_block_group (`tenant_id`, `platform_id`, `name`, `app_id`);

docker-deploy-data/nginx.conf

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
2+
events {
3+
worker_connections 1024;
4+
}
5+
6+
7+
http {
8+
include mime.types;
9+
default_type application/octet-stream;
10+
sendfile on;
11+
keepalive_timeout 65;
12+
server {
13+
listen 80;
14+
server_name 119.3.180.78;
15+
location / {
16+
root /usr/share/nginx/html;
17+
index index.html index.htm;
18+
}
19+
location ~* ^/(.*-center)/(.*) {
20+
proxy_pass http://tiny-engine-back:9090/$1/$2;
21+
proxy_set_header Host $host;
22+
proxy_set_header X-Real-IP $remote_addr;
23+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
24+
proxy_set_header X-Forwarded-Proto $scheme;
25+
}
26+
error_page 500 502 503 504 /50x.html;
27+
location = /50x.html {
28+
root html; }
29+
}
30+
31+
}
32+

dockerfile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
FROM eclipse-temurin:17-jdk-jammy as build
2+
WORKDIR /app
3+
ADD . .
4+
RUN wget --no-check-certificate https://mirrors.huaweicloud.com/apache/maven/maven-3/3.9.8/binaries/apache-maven-3.9.8-bin.tar.gz
5+
6+
RUN tar -zxvf apache-maven-3.9.8-bin.tar.gz
7+
8+
RUN rm apache-maven-3.9.8-bin.tar.gz
9+
ENV M2_HOME=/app/apache-maven-3.9.8
10+
ENV PATH=$M2_HOME/bin:$PATH
11+
COPY settings.xml /app/apache-maven-3.9.8/conf/settings.xml
12+
RUN mvn clean package -Dmaven.test.skip=true
13+
FROM eclipse-temurin:17-jdk-jammy
14+
WORKDIR /app
15+
COPY --from=build /app/app/target/tiny-engine-app-*.jar /app/tiny-engine-app.jar
16+
COPY --from=build /app/base/target/tiny-engine-base-*.jar /app/tiny-engine-base.jar
17+
18+
ENTRYPOINT ["java", "-jar", "tiny-engine-app.jar", "--spring.profiles.active=dev"]
19+
EXPOSE 9090
20+

0 commit comments

Comments
 (0)