# ═══════════════════════════════════════════════════════════ # 测试环境(test) # # 用途:CI 流水线里的 E2E(`scripts/e2e-*.py` 打真实接口)与联调环境。 # # ⚠️⚠️ 这个文件**不含任何密钥**,全部由环境变量提供。 # 理由不是"洁癖":test 环境的库会被反复清空重建, # 而**密钥不该跟着库一起被当成一次性的**。更实际的是 —— # CI 上每次跑用**当次随机生成**的密钥(见 .gitlab-ci.yml), # 这样才能证明"应用没有偷偷依赖某个 dev 默认值"。 # # 必需的环境变量(缺任何一个都起不来,且报错会指名道姓): # PG_HOST PG_PORT PG_DB PG_USER PG_PASSWORD # REDIS_HOST REDIS_PORT REDIS_PASSWORD # XT_JWT_SECRET XT_AES_KEY XT_HMAC_KEY XT_RSA_PRIVATE_KEY # ═══════════════════════════════════════════════════════════ spring: datasource: # CI 里 PG 是 services 里的别名(默认 `postgres`),本地跑给 localhost 即可 url: jdbc:postgresql://${PG_HOST:localhost}:${PG_PORT:5432}/${PG_DB:filldb}?stringtype=unspecified username: ${PG_USER:fill} password: ${PG_PASSWORD} data: redis: host: ${REDIS_HOST:localhost} port: ${REDIS_PORT:6379} password: ${REDIS_PASSWORD} database: 0 flyway: # test 允许 clean 后重建:每次流水线从一个空库开始, # **这样才能验证"所有迁移从 V1 依次跑到最新"是通的** —— # 而增量环境里永远验不到这件事(旧库已经是最新了) clean-disabled: false web: resources: # H5 产物在 CI 里是构建出来的;本地指向同一个相对路径 static-locations: ${H5_STATIC_DIR:file:../frontend-mp/dist/build/h5/},classpath:/static/ logging: level: root: info cn.tianbaotong.fill: info # CI 日志里带 SQL 会淹没断言输出,所以 test 不打开 SQL 日志 fill: jwt: secret: ${XT_JWT_SECRET} crypto: aes-key: ${XT_AES_KEY} hmac-key: ${XT_HMAC_KEY} rsa: private-key: ${XT_RSA_PRIVATE_KEY} storage: # ⚠️ test 用 local 是**刻意的**:CI 里没有对象存储,而且 # "上传→取回→预览"这条链路用本地磁盘就能完整验证。 # 真实验证七牛要走 staging(那需要真凭据),见 docs/09-部署与运维.md provider: ${XT_STORAGE_PROVIDER:local} keep-raw: ${XT_STORAGE_KEEP_RAW:false} self-check-on-startup: false mini-program: app-id: ${WX_MP_APP_ID:} app-secret: ${WX_MP_APP_SECRET:} env-version: develop mp-h5: app-id: ${WX_H5_APP_ID:} app-secret: ${WX_H5_APP_SECRET:} callback-url: ${WX_H5_CALLBACK:http://localhost:8080/api/v1/mp/h5/callback} h5-base-url: ${WX_H5_BASE_URL:http://localhost:8080} # ⚠️ test 允许打桩登录(E2E 里有 23 条断言靠它跑 H5 授权链路)。 # 它只在**非生产**可用:代码里另有一道"profile 不含 prod"的判断。 stub-enabled: ${WX_H5_STUB:true} tenant-domain: enabled: ${XT_TENANT_DOMAIN_ENABLED:false} base: ${XT_TENANT_DOMAIN_BASE:localhost} scheme: http # test 也开 Swagger:联调的人要用它照着调 springdoc: api-docs: enabled: true swagger-ui: enabled: true