清除Nacos:删bootstrap.yml与pom依赖,加actuator;配置改平台档案模式

This commit is contained in:
chenxing
2026-09-04 14:40:05 +08:00
parent 2317574942
commit 626686b851
11 changed files with 56 additions and 213 deletions
+2 -2
View File
@@ -10,8 +10,8 @@ RUN apt-get update \
WORKDIR /app
COPY target/BschClass-0.1.jar /app/BschClass-0.1.jar
# 镜像内 application-prod.yml 仅作「nacos 不可达时的兜底默认」;
# 正常启动由 run-app.sh 从 nacos 拉取线上配置(主 dataId=bschclassmanage.yaml,group=SCHCLASSMANAGE,prod 命名空间)后覆盖。
# 镜像内 application-prod.yml 仅作独立运行时的兜底默认;
# projman 部署时平台配置档案会以 bind mount 覆盖同路径文件,环境变量再压过文件。
COPY docker/application-prod.yml /app/config/application-prod.yml
COPY docker/run-app.sh /app/run-app.sh
RUN chmod +x /app/run-app.sh && mkdir -p /data/upload
+33 -45
View File
@@ -1,7 +1,14 @@
# BschClass 生产配置(线上以 nacos 的 bschclassmanage.yaml 为准,本文件是 nacos 不可达时的兜底)
server:
port: 8087
# 无 context-path:经 caddy 暴露为 http://base.yunhaixingtong.com/bschclass,caddy 已剥离 /bschclass 前缀
# ==============================================================
# BschClass 生产配置(projman 应用配置档案;同一份内容烤进镜像作独立运行兜底)
# --------------------------------------------------------------
# 加载顺序(低 -> 高):
# jar 内 application.yml(本地开发自己的,写本地 redis/DB)
# < 本文件(projman 挂载 /app/config/application-prod.yml,SPRING_PROFILES_ACTIVE=prod)
# < 平台注入环境变量(SERVER_PORT / SPRING_DATASOURCE_* / SPRING_REDIS_* / SPRING_RABBITMQ_* / SSO / FILE_WEB_PATH)
# ⚠️ 覆盖是 key 级合并非整文件替换;env 压过本文件。
# 本文件只放:appKey/appSecret、业务开关、JPA/Hikari 口径、日志级别。
# 不要放:端口/contextPath(SERVER_* env 注入)、平台供给的 DB/中间件连接(勾选 infra 后 env 注入)。
# ==============================================================
spring:
mvc:
@@ -14,36 +21,17 @@ spring:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
redis:
host: redis
port: 6379
database: 0
# 密码由 nacos application-infra.yaml 注入(spring.redis.password),不在此写死、不依赖容器 env
timeout: 2000ms
data:
redis:
repositories:
enabled: false
# datasource:
# url: jdbc:mysql://mysql8:3306/dbschoolclass?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
# username: root
# # 生产由 nacos application-infra.yaml 注入(含密码);此处仅作 nacos 不可达时的兜底参考
# password: ${DB_PASSWORD}
# driver-class-name: com.mysql.cj.jdbc.Driver
# min-idle: 30
# max-active: 30
# hikari:
# minimum-idle: 20
# maximum-pool-size: 500
# connection-timeout: 600000
# idle-timeout: 120000
# leakDetectionThreshold: 300000
# auto-commit: true
# max-lifetime: 1800000
# validation-timeout: 3000
# connection-test-query: SELECT 1 FROM DUAL
# connection-init-sql: SET NAMES utf8mb4
datasource:
hikari:
# 连接治理(平台口径):泄漏 60s 打堆栈现形;拿不到连接快速失败而非干等 600s
minimum-idle: 10
maximum-pool-size: 30
connection-timeout: 10000
leak-detection-threshold: 60000
max-lifetime: 1800000
validation-timeout: 3000
connection-test-query: SELECT 1
connection-init-sql: SET NAMES utf8mb4
jpa:
database: MySQL
@@ -58,11 +46,8 @@ spring:
open-in-view: true
rabbitmq:
host: rabbitmq
port: 5672
username: admin
# 密码由 nacos application-infra.yaml 注入(spring.rabbitmq.password),不在此写死、不依赖容器 env
listener:
# 业务开关:消费端不随应用自动启动(保留原 Nacos 生产行为,与连接注入无关)
direct:
auto-startup: false
simple:
@@ -71,22 +56,25 @@ spring:
# 单点登录 / 应用间签名鉴权(基础平台 yh-auth / yh-app-auth)
yh:
sso:
server-url-prefix: http://sso.yunhaixingtong.com/cas/
client-host-url: http://base.yunhaixingtong.com/bschclass
# server-url-prefix / client-host-url 由平台按平台设置注入(改地址 Apply 即生效),此处不写
allow-headers: all
allow-origins: all
url-pattern: /api/*
mobi-api-pattern: /mobiapi/*
app-auth:
enabled: true
app-key: 100002
app-secret: 2314a3b158b24a838b2b9b69fd3db118
open:
enabled: true
# base-host 由平台注入;此处仅保留相对路径约定
user-center-url: http://base.yunhaixingtong.com/userbase
group-center-url: http://base.yunhaixingtong.com/userbase
# 上传文件落容器卷(docker 内 /data/upload)
# 上传文件落容器卷 /data/upload(平台挂载宿主持久目录,勿改)
FILE_PATH: /data/upload
FILE_WEB_PATH: http://base.yunhaixingtong.com/bschclass/upload/
UPLOAD_WEB_PATH_HTTP: http://base.yunhaixingtong.com/bschclass/upload/file/
# FILE_WEB_PATH / UPLOAD_WEB_PATH_HTTP 由平台注入 {portal}/bschclass/upload/...,此处不写
logging:
level:
root: INFO
file:
path: /app/logs
+6 -5
View File
@@ -1,10 +1,11 @@
#!/bin/sh
# BschClass 启动入口:配置统一由 Nacos 配置中心在 bootstrap 阶段下发(见 bootstrap.yml)
# 不再需要手动 curl 拉取;若 nacos 不可达,bootstrap 中 fail-fast=false 会自动回退到
# 镜像内烤好的 application-prod.yml 兜底默认。
# BschClass 启动入口。
# 配置来源(低 -> 高):镜像内兜底 /app/config/application-prod.yml
# < projman 平台挂载的同名文件(覆盖镜像内兜底)
# < 平台注入的环境变量(SERVER_PORT / 数据库连接 / 中间件 / SSO 等)
set -e
echo "[run-app] starting BschClass (profile=prod, nacos=${NACOS_ADDR:-nacos.yunhaixingtong.com:8848}) ..."
echo "[run-app] starting BschClass (profile=${SPRING_PROFILES_ACTIVE:-prod}) ..."
exec java ${JAVA_OPTS:--Xms512m -Xmx1024m} -Dfile.encoding=UTF-8 -jar /app/BschClass-0.1.jar \
--spring.profiles.active=prod
--spring.profiles.active=${SPRING_PROFILES_ACTIVE:-prod}