179 lines
5.9 KiB
YAML
179 lines
5.9 KiB
YAML
server:
|
||
port: 8080
|
||
spring:
|
||
# 文件上传配置
|
||
servlet:
|
||
multipart:
|
||
enabled: true
|
||
max-file-size: 1GB # 单个文件最大大小
|
||
max-request-size: 1GB # 整个请求最大大小
|
||
file-size-threshold: 0 # 文件写入磁盘的阈值
|
||
datasource:
|
||
url: jdbc:mysql://172.22.222.111:3306/deploy-ease-platform?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true&createDatabaseIfNotExist=true&allowMultiQueries=true
|
||
username: deploy-ease-platform
|
||
password: Qichen5210523
|
||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||
hikari:
|
||
# 连接池最大连接数(方案2:充足配置)
|
||
# 峰值并发:服务器监控(150) + Jenkins同步(100) + Git同步(100) + Web请求(20) ≈ 370
|
||
# 预留buffer,设置为200
|
||
maximum-pool-size: 200
|
||
# 最小空闲连接数(保持足够的空闲连接,减少高峰时创建连接的开销)
|
||
minimum-idle: 80
|
||
# 空闲连接超时时间,默认600000(10分钟)
|
||
idle-timeout: 300000
|
||
# 连接最大存活时间,默认1800000(30分钟)
|
||
max-lifetime: 1800000
|
||
# 连接超时时间(优化:防止长时间等待)
|
||
connection-timeout: 30000
|
||
# 测试连接是否有效的查询语句
|
||
connection-test-query: SELECT 1
|
||
# 验证连接的超时时间,默认5000(5秒)
|
||
validation-timeout: 5000
|
||
# 从连接池获取连接时是否检查连接有效性
|
||
connection-init-sql: SELECT 1
|
||
# 每隔多久检测一次连接的有效性
|
||
keepalive-time: 60000
|
||
# 是否自动提交事务
|
||
auto-commit: true
|
||
# 连接池名称
|
||
pool-name: HikariCP-Pool
|
||
# 是否允许JMX管理连接池
|
||
register-mbeans: true
|
||
# 连接泄漏检测阈值(毫秒),超过此时间未归还的连接将被记录
|
||
# Jenkins 构建轮询最长30分钟,设置为35分钟避免误报
|
||
leak-detection-threshold: 2100000
|
||
jpa:
|
||
hibernate:
|
||
ddl-auto: update
|
||
show-sql: true
|
||
properties:
|
||
hibernate:
|
||
format_sql: false
|
||
use_sql_comments: true
|
||
dialect: org.hibernate.dialect.MySQL8Dialect
|
||
jdbc:
|
||
time_zone: Asia/Shanghai
|
||
mvc:
|
||
log-request-details: true
|
||
messages:
|
||
basename: messages
|
||
encoding: UTF-8
|
||
fallback-to-system-locale: false
|
||
messages:
|
||
basename: messages
|
||
encoding: UTF-8
|
||
fallback-to-system-locale: false
|
||
always-use-message-format: false
|
||
use-code-as-default-message: true
|
||
cache-duration: 3600
|
||
liquibase:
|
||
enabled: true
|
||
change-log: classpath:db/changelog/db.changelog-master.xml
|
||
drop-first: false
|
||
default-schema: deploy-ease-platform
|
||
contexts: default
|
||
data:
|
||
redis:
|
||
host: 172.22.222.111
|
||
password: Qichen5210523...
|
||
port: 6379
|
||
database: 7
|
||
timeout: 6000ms
|
||
flowable:
|
||
database-schema-update: true
|
||
# id-generator: org.flowable.common.engine.impl.db.DbIdGenerator
|
||
#flowable:
|
||
# async-executor:
|
||
# default-async-job-acquire-wait-time: 60000
|
||
# default-timer-job-acquire-wait-time: 60000
|
||
# max-async-jobs-due-per-acquisition: 1
|
||
# retry-wait-time-in-millis: 60000
|
||
# number-of-retries: 1
|
||
# # 自动清理死信任务
|
||
# move-to-dead-letter-on-failure: true
|
||
# # 死信任务的保留时间(毫秒)
|
||
# dead-letter-timeout: 1000
|
||
logging:
|
||
level:
|
||
springframework: DEBUG
|
||
org.springframework.web: DEBUG
|
||
org.springframework.context.i18n: DEBUG
|
||
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping: TRACE
|
||
org.hibernate.SQL: DEBUG
|
||
org.hibernate.type.descriptor.sql: TRACE
|
||
org.hibernate.type.descriptor.sql.BasicBinder: TRACE
|
||
org.hibernate.orm.jdbc.bind: TRACE
|
||
org.hibernate.type: TRACE
|
||
com.querydsl.jpa: DEBUG
|
||
com.qqchen.deploy.backend.framework.utils.EntityPathResolver: DEBUG
|
||
com.qqchen.deploy.backend: DEBUG
|
||
# 屏蔽 SSHJ 底层日志(SecureRandom、Transport 等无业务价值的日志)
|
||
net.schmizz.sshj: WARN
|
||
# 日志文件配置
|
||
file:
|
||
name: logs/deploy-ease.log # 日志文件路径
|
||
logback:
|
||
rollingpolicy:
|
||
# 日志文件名称模式(按日期归档)
|
||
file-name-pattern: logs/deploy-ease-%d{yyyy-MM-dd}.%i.log.gz
|
||
# 单个日志文件最大大小
|
||
max-file-size: 100MB
|
||
# 日志文件保留天数
|
||
max-history: 30
|
||
# 日志文件总大小上限
|
||
total-size-cap: 10GB
|
||
# 是否在启动时清理历史日志
|
||
clean-history-on-start: false
|
||
pattern:
|
||
# 日志输出格式
|
||
console: '%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } --- [%15.15t] %-40.40logger{39} : %m%n'
|
||
file: '%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } --- [%15.15t] %-40.40logger{39} : %m%n'
|
||
# 监控配置
|
||
management:
|
||
endpoints:
|
||
web:
|
||
exposure:
|
||
# 添加 threaddump 用于线程监控,heapdump 用于内存分析
|
||
include: health,metrics,info,threaddump,heapdump,env,loggers
|
||
metrics:
|
||
enable:
|
||
hikari: true
|
||
tomcat: true
|
||
jvm: true
|
||
system: true
|
||
|
||
jwt:
|
||
secret: 'thisIsAVeryVerySecretKeyForJwtTokenGenerationAndValidation123456789'
|
||
expiration: 86400
|
||
|
||
# Security 白名单配置
|
||
security:
|
||
whitelist:
|
||
paths:
|
||
- /api/v1/user/login
|
||
- /api/v1/user/register
|
||
- /api/v1/tenant/list
|
||
- /api/v1/server-ssh/*/files/**
|
||
- /swagger-ui/**
|
||
- /v3/api-docs/**
|
||
- /actuator/**
|
||
|
||
jackson:
|
||
time-zone: Asia/Shanghai
|
||
|
||
# 部署平台配置
|
||
deploy:
|
||
# 敏感数据加密配置
|
||
encryption:
|
||
# 加密密钥(生产环境建议使用环境变量 ENCRYPTION_SECRET_KEY)
|
||
# 密钥长度至少32位,建议使用强随机字符串
|
||
secret-key: ${ENCRYPTION_SECRET_KEY:deploy-ease-platform-secret-key-2025}
|
||
# 加密盐值(生产环境建议使用环境变量 ENCRYPTION_SALT)
|
||
# 盐值必须是16位十六进制字符串(只能包含0-9和a-f)
|
||
salt: ${ENCRYPTION_SALT:a1b2c3d4e5f6a7b8}
|
||
# 系统版本发布通知配置
|
||
notification:
|
||
release:
|
||
channel-id: 2 # 版本通知渠道ID
|