deploy-ease-platform/backend/src/main/resources/application.yml
2025-12-11 13:43:32 +08:00

179 lines
5.9 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
# 空闲连接超时时间默认60000010分钟
idle-timeout: 300000
# 连接最大存活时间默认180000030分钟
max-lifetime: 1800000
# 连接超时时间(优化:防止长时间等待)
connection-timeout: 30000
# 测试连接是否有效的查询语句
connection-test-query: SELECT 1
# 验证连接的超时时间默认50005秒
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