From efe05ad624704104521243e8eadaf60eae768016 Mon Sep 17 00:00:00 2001 From: lzh Date: Tue, 13 Jan 2026 23:50:37 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=9E=84=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=AE=A1=E7=90=86=EF=BC=8C=E7=A7=BB=E9=99=A4.env?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=EF=BC=8C=E4=BD=BF=E7=94=A8docker-compose?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F+Nacos=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新所有application-prod.yaml,将环境变量占位符替换为硬编码默认值 - 重写docker-compose.core.yml,使用Spring Boot环境变量命名规范 - 修复Jenkins pipeline中的getContainerName方法调用错误 - 配置优先级:Nacos配置中心 > Docker环境变量 > application-prod.yaml 变更文件: - viewsh-gateway/src/main/resources/application-prod.yaml - viewsh-module-system-server/src/main/resources/application-prod.yaml - viewsh-module-infra-server/src/main/resources/application-prod.yaml - viewsh-module-iot-server/src/main/resources/application-prod.yaml - viewsh-module-iot-gateway/src/main/resources/application-prod.yaml - docker-compose.core.yml - Jenkinsfile --- Jenkinsfile | 11 +- docker-compose.core.yml | 347 +++++++----------- .../src/main/resources/application-prod.yaml | 25 +- .../src/main/resources/application-prod.yaml | 17 +- .../src/main/resources/application-prod.yaml | 17 +- .../src/main/resources/application-prod.yaml | 17 +- .../src/main/resources/application-prod.yaml | 43 ++- 7 files changed, 201 insertions(+), 276 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index ace8967..d5ec398 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -141,7 +141,16 @@ pipeline { sortedServices.each { service -> echo "🚀 Deploying ${service}..." - def containerName = getContainerName(service) + // 获取容器名称 + def serviceMap = [ + 'viewsh-gateway': 'aiot-gateway', + 'viewsh-module-system-server': 'aiot-system-server', + 'viewsh-module-infra-server': 'aiot-infra-server', + 'viewsh-module-iot-server': 'aiot-iot-server', + 'viewsh-module-iot-gateway': 'aiot-iot-gateway' + ] + def containerName = serviceMap[service] ?: "aiot-${service}" + def sshKey = '/var/jenkins_home/.ssh/id_rsa' def sshOpts = "-o StrictHostKeyChecking=no -o ConnectTimeout=10 -i ${sshKey}" diff --git a/docker-compose.core.yml b/docker-compose.core.yml index ea496a9..5c6762a 100644 --- a/docker-compose.core.yml +++ b/docker-compose.core.yml @@ -1,11 +1,5 @@ version: '3.8' -# ============================================ -# AIOT Platform - 核心服务部署配置 (方案 A) -# 连接到 1Panel 已安装的中间件 -# 总内存占用: ~4.5GB (仅应用服务) -# ============================================ - networks: aiot-network: driver: bridge @@ -14,292 +8,199 @@ volumes: app-logs: services: - # ============ 应用服务 ============ - # 注意: 中间件(MySQL, Redis, Nacos, RocketMQ)已通过 1Panel 安装 - # 应用服务通过环境变量配置连接到宿主机的中间件 - - viewsh-gateway: - image: ${REGISTRY_HOST}/viewsh-gateway:${IMAGE_TAG} + image: ${REGISTRY_HOST:-localhost:5000}/viewsh-gateway:${IMAGE_TAG:-latest} container_name: aiot-gateway restart: on-failure:5 - network_mode: host # 使用宿主机网络,直接访问 1Panel 中间件 + network_mode: host environment: - JAVA_OPTS: "-Xms${GATEWAY_JVM_XMS} -Xmx${GATEWAY_JVM_XMX} ${JVM_COMMON_OPTS}" - SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE} - SPRING_AUTOCONFIGURE_EXCLUDE: com.binarywang.spring.starter.wxjava.mp.config.WxMpServiceAutoConfiguration,com.binarywang.spring.starter.wxjava.mp.config.WxMpAutoConfiguration - NACOS_SERVER_ADDR: ${NACOS_HOST}:${NACOS_PORT} - REDIS_HOST: ${REDIS_HOST} - REDIS_PORT: ${REDIS_PORT} - REDIS_PASSWORD: ${REDIS_PASSWORD} - REDIS_DATABASE: ${REDIS_DATABASE:-0} - TZ: ${TZ} + # ===== 基础配置 ===== + TZ: Asia/Shanghai + SPRING_PROFILES_ACTIVE: prod + + # ===== JVM 配置 ===== + JAVA_OPTS: "-Xms512m -Xmx1024m -XX:+UseContainerSupport -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs" + + # ===== Nacos 配置 ===== + SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: 172.17.16.14:8848 + SPRING_CLOUD_NACOS_CONFIG_NAMESPACE: "aiot-platform" # TODO: 填入实际的命名空间 UUID + SPRING_CLOUD_NACOS_SERVER_ADDR: 172.17.16.14:8848 + SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE: "aiot-platform" # TODO: 填入实际的命名空间 UUID + SPRING_CLOUD_NACOS_DISCOVERY_IP: 172.17.16.14 + + # ===== Redis 配置 ===== + SPRING_DATA_REDIS_HOST: 172.17.16.14 + SPRING_DATA_REDIS_PORT: 6379 + SPRING_DATA_REDIS_PASSWORD: "9kHXcZ1ojFsD" # TODO: 填入实际的 Redis 密码 + volumes: - app-logs:/app/logs deploy: resources: limits: - memory: ${GATEWAY_MEMORY_LIMIT} + memory: 1536m cpus: '1.0' healthcheck: test: ["CMD", "curl", "-f", "http://localhost:48080/actuator/health"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 90s + interval: 10s + timeout: 5s + retries: 12 + start_period: 120s viewsh-module-system-server: - image: ${REGISTRY_HOST}/viewsh-module-system-server:${IMAGE_TAG} + image: ${REGISTRY_HOST:-localhost:5000}/viewsh-module-system-server:${IMAGE_TAG:-latest} container_name: aiot-system-server restart: on-failure:5 network_mode: host environment: - JAVA_OPTS: "-Xms${SYSTEM_JVM_XMS} -Xmx${SYSTEM_JVM_XMX} ${JVM_COMMON_OPTS}" - SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE} - SPRING_AUTOCONFIGURE_EXCLUDE: com.binarywang.spring.starter.wxjava.mp.config.WxMpServiceAutoConfiguration - NACOS_SERVER_ADDR: ${NACOS_HOST}:${NACOS_PORT} - MYSQL_HOST: ${MYSQL_HOST} - MYSQL_PORT: ${MYSQL_PORT} - MYSQL_DATABASE: ${MYSQL_DATABASE} - MYSQL_USER: ${MYSQL_USER} - MYSQL_PASSWORD: ${MYSQL_PASSWORD} - REDIS_HOST: ${REDIS_HOST} - REDIS_PORT: ${REDIS_PORT} - REDIS_PASSWORD: ${REDIS_PASSWORD} - REDIS_DATABASE: ${REDIS_DATABASE:-0} - TZ: ${TZ} + TZ: Asia/Shanghai + SPRING_PROFILES_ACTIVE: prod + JAVA_OPTS: "-Xms512m -Xmx1024m -XX:+UseContainerSupport -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs" + + # Nacos + SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: 172.17.16.14:8848 + SPRING_CLOUD_NACOS_CONFIG_NAMESPACE: "aiot-platform" # TODO: 填入命名空间 UUID + SPRING_CLOUD_NACOS_SERVER_ADDR: 172.17.16.14:8848 + SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE: "aiot-platform" # TODO: 填入命名空间 UUID + SPRING_CLOUD_NACOS_DISCOVERY_IP: 172.17.16.14 + + # 数据库 + SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_URL: jdbc:mysql://172.17.16.14:3306/aiot_platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true + SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_USERNAME: root # TODO: 填入数据库用户名 + SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_PASSWORD: "65p^VTPi9Qd+" # TODO: 填入数据库密码 + + # Redis + SPRING_DATA_REDIS_HOST: 172.17.16.14 + SPRING_DATA_REDIS_PASSWORD: "9kHXcZ1ojFsD" # TODO: 填入 Redis 密码 + volumes: - app-logs:/app/logs deploy: resources: limits: - memory: ${SYSTEM_MEMORY_LIMIT} + memory: 1536m cpus: '1.0' healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:48081"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 90s + test: ["CMD", "curl", "-f", "http://localhost:48081/actuator/health"] + interval: 10s + timeout: 5s + retries: 12 + start_period: 120s depends_on: viewsh-gateway: condition: service_healthy viewsh-module-infra-server: - image: ${REGISTRY_HOST}/viewsh-module-infra-server:${IMAGE_TAG} + image: ${REGISTRY_HOST:-localhost:5000}/viewsh-module-infra-server:${IMAGE_TAG:-latest} container_name: aiot-infra-server restart: on-failure:5 network_mode: host environment: - JAVA_OPTS: "-Xms${INFRA_JVM_XMS} -Xmx${INFRA_JVM_XMX} ${JVM_COMMON_OPTS}" - SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE} - SPRING_AUTOCONFIGURE_EXCLUDE: com.binarywang.spring.starter.wxjava.mp.config.WxMpServiceAutoConfiguration - # XXL-JOB 配置(暂时注释,等部署 XXL-JOB Admin 后启用) - # XXL_JOB_ADMIN_ADDRESSES: ${XXL_JOB_ADMIN_ADDRESSES:-http://127.0.0.1:9090/xxl-job-admin} - # XXL_JOB_ACCESS_TOKEN: ${XXL_JOB_ACCESS_TOKEN:-default_token} - NACOS_SERVER_ADDR: ${NACOS_HOST}:${NACOS_PORT} - MYSQL_HOST: ${MYSQL_HOST} - MYSQL_PORT: ${MYSQL_PORT} - MYSQL_DATABASE: ${MYSQL_DATABASE} - MYSQL_USER: ${MYSQL_USER} - MYSQL_PASSWORD: ${MYSQL_PASSWORD} - REDIS_HOST: ${REDIS_HOST} - REDIS_PORT: ${REDIS_PORT} - REDIS_PASSWORD: ${REDIS_PASSWORD} - REDIS_DATABASE: ${REDIS_DATABASE:-0} - TZ: ${TZ} + TZ: Asia/Shanghai + SPRING_PROFILES_ACTIVE: prod + JAVA_OPTS: "-Xms512m -Xmx1024m -XX:+UseContainerSupport -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs" + + SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: 172.17.16.14:8848 + SPRING_CLOUD_NACOS_CONFIG_NAMESPACE: "aiot-platform" + SPRING_CLOUD_NACOS_SERVER_ADDR: 172.17.16.14:8848 + SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE: "aiot-platform" + SPRING_CLOUD_NACOS_DISCOVERY_IP: 172.17.16.14 + + SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_URL: jdbc:mysql://172.17.16.14:3306/aiot_platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true + SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_USERNAME: root + SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_PASSWORD: "65p^VTPi9Qd+" + + SPRING_DATA_REDIS_HOST: 172.17.16.14 + SPRING_DATA_REDIS_PASSWORD: "9kHXcZ1ojFsD" + volumes: - app-logs:/app/logs - deploy: - resources: - limits: - memory: ${INFRA_MEMORY_LIMIT} - cpus: '1.0' healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:48082"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 90s + test: ["CMD", "curl", "-f", "http://localhost:48082/actuator/health"] + interval: 10s + timeout: 5s + retries: 12 + start_period: 120s depends_on: viewsh-module-system-server: condition: service_healthy viewsh-module-iot-server: - image: ${REGISTRY_HOST}/viewsh-module-iot-server:${IMAGE_TAG} + image: ${REGISTRY_HOST:-localhost:5000}/viewsh-module-iot-server:${IMAGE_TAG:-latest} container_name: aiot-iot-server restart: on-failure:5 network_mode: host environment: - JAVA_OPTS: "-Xms${IOT_SERVER_JVM_XMS} -Xmx${IOT_SERVER_JVM_XMX} ${JVM_COMMON_OPTS}" - SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE} - SPRING_AUTOCONFIGURE_EXCLUDE: com.binarywang.spring.starter.wxjava.mp.config.WxMpServiceAutoConfiguration - NACOS_SERVER_ADDR: ${NACOS_HOST}:${NACOS_PORT} - MYSQL_HOST: ${MYSQL_HOST} - MYSQL_PORT: ${MYSQL_PORT} - MYSQL_DATABASE: ${MYSQL_DATABASE} - MYSQL_USER: ${MYSQL_USER} - MYSQL_PASSWORD: ${MYSQL_PASSWORD} - REDIS_HOST: ${REDIS_HOST} - REDIS_PORT: ${REDIS_PORT} - REDIS_PASSWORD: ${REDIS_PASSWORD} - REDIS_DATABASE: ${REDIS_DATABASE:-0} - ROCKETMQ_NAMESRV_ADDR: ${ROCKETMQ_NAMESRV_HOST}:${ROCKETMQ_NAMESRV_PORT} - TZ: ${TZ} + TZ: Asia/Shanghai + SPRING_PROFILES_ACTIVE: prod + JAVA_OPTS: "-Xms1024m -Xmx2048m -XX:+UseContainerSupport -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs" + + SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: 172.17.16.14:8848 + SPRING_CLOUD_NACOS_CONFIG_NAMESPACE: "aiot-platform" + SPRING_CLOUD_NACOS_SERVER_ADDR: 172.17.16.14:8848 + SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE: "aiot-platform" + SPRING_CLOUD_NACOS_DISCOVERY_IP: 172.17.16.14 + + SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_URL: jdbc:mysql://172.17.16.14:3306/aiot_platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true + SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_USERNAME: root + SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_PASSWORD: "65p^VTPi9Qd+" + + SPRING_DATA_REDIS_HOST: 172.17.16.14 + SPRING_DATA_REDIS_PASSWORD: "9kHXcZ1ojFsD" + + ROCKETMQ_NAME_SERVER: 172.17.16.14:9876 + volumes: - app-logs:/app/logs deploy: resources: limits: - memory: ${IOT_SERVER_MEMORY_LIMIT} + memory: 2560m cpus: '1.5' healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:48083"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 90s + test: ["CMD", "curl", "-f", "http://localhost:48083/actuator/health"] + interval: 10s + timeout: 5s + retries: 12 + start_period: 120s depends_on: viewsh-module-infra-server: condition: service_healthy viewsh-module-iot-gateway: - image: ${REGISTRY_HOST}/viewsh-module-iot-gateway:${IMAGE_TAG} + image: ${REGISTRY_HOST:-localhost:5000}/viewsh-module-iot-gateway:${IMAGE_TAG:-latest} container_name: aiot-iot-gateway restart: on-failure:5 network_mode: host environment: - JAVA_OPTS: "-Xms${IOT_GATEWAY_JVM_XMS} -Xmx${IOT_GATEWAY_JVM_XMX} ${JVM_COMMON_OPTS}" - SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE} - SPRING_AUTOCONFIGURE_EXCLUDE: com.binarywang.spring.starter.wxjava.mp.config.WxMpServiceAutoConfiguration - # Nacos 配置 - NACOS_SERVER_ADDR: ${NACOS_HOST}:${NACOS_PORT} - NACOS_USERNAME: ${NACOS_USERNAME} - NACOS_PASSWORD: ${NACOS_PASSWORD} - NACOS_NAMESPACE: ${NACOS_NAMESPACE} - NACOS_GROUP: DEFAULT_GROUP - # Redis 配置 - REDIS_HOST: ${REDIS_HOST} - REDIS_PORT: ${REDIS_PORT} - REDIS_PASSWORD: ${REDIS_PASSWORD} - REDIS_DATABASE: ${REDIS_DATABASE} - REDIS_TIMEOUT: 30000ms - # RocketMQ 配置 - ROCKETMQ_NAMESRV_ADDR: ${ROCKETMQ_NAMESRV_HOST}:${ROCKETMQ_NAMESRV_PORT} - # IoT 消息总线配置 - IOT_MESSAGE_BUS_TYPE: ${IOT_MESSAGE_BUS_TYPE} - # 设备 RPC 配置 - IOT_RPC_URL: ${IOT_RPC_URL} - IOT_RPC_CONNECT_TIMEOUT: ${IOT_RPC_CONNECT_TIMEOUT} - IOT_RPC_READ_TIMEOUT: ${IOT_RPC_READ_TIMEOUT} - # 设备 Token 配置 - IOT_TOKEN_SECRET: ${IOT_TOKEN_SECRET} - IOT_TOKEN_EXPIRATION: ${IOT_TOKEN_EXPIRATION} - # HTTP 协议配置 - IOT_HTTP_ENABLED: ${IOT_HTTP_ENABLED} - IOT_HTTP_PORT: ${IOT_HTTP_PORT} - # MQTT 协议配置 - IOT_MQTT_ENABLED: ${IOT_MQTT_ENABLED} - IOT_MQTT_PORT: ${IOT_MQTT_PORT} - IOT_MQTT_MAX_MESSAGE_SIZE: ${IOT_MQTT_MAX_MESSAGE_SIZE} - IOT_MQTT_CONNECT_TIMEOUT: ${IOT_MQTT_CONNECT_TIMEOUT} - IOT_MQTT_SSL_ENABLED: ${IOT_MQTT_SSL_ENABLED} - # TCP 协议配置 - IOT_TCP_ENABLED: ${IOT_TCP_ENABLED} - IOT_TCP_PORT: ${IOT_TCP_PORT} - IOT_TCP_KEEPALIVE_TIMEOUT: ${IOT_TCP_KEEPALIVE_TIMEOUT} - IOT_TCP_MAX_CONNECTIONS: ${IOT_TCP_MAX_CONNECTIONS} - IOT_TCP_SSL_ENABLED: ${IOT_TCP_SSL_ENABLED} - # EMQX 协议配置 - IOT_EMQX_ENABLED: ${IOT_EMQX_ENABLED} - IOT_EMQX_HTTP_PORT: ${IOT_EMQX_HTTP_PORT} - IOT_EMQX_MQTT_HOST: ${IOT_EMQX_MQTT_HOST} - IOT_EMQX_MQTT_PORT: ${IOT_EMQX_MQTT_PORT} - IOT_EMQX_MQTT_USERNAME: ${IOT_EMQX_MQTT_USERNAME} - IOT_EMQX_MQTT_PASSWORD: ${IOT_EMQX_MQTT_PASSWORD} - IOT_EMQX_MQTT_CLIENT_ID: ${IOT_EMQX_MQTT_CLIENT_ID} - IOT_EMQX_MQTT_SSL: ${IOT_EMQX_MQTT_SSL} - IOT_EMQX_TRUST_ALL: ${IOT_EMQX_TRUST_ALL} - IOT_EMQX_WILL_ENABLED: ${IOT_EMQX_WILL_ENABLED} - # 日志配置 - LOG_FILE_PATH: /app/logs - LOG_LEVEL_IOT_GATEWAY: ${LOG_LEVEL_IOT_GATEWAY} - LOG_LEVEL_EMQX: ${LOG_LEVEL_EMQX} - LOG_LEVEL_HTTP: ${LOG_LEVEL_HTTP} - LOG_LEVEL_MQTT: ${LOG_LEVEL_MQTT} - TZ: ${TZ} + TZ: Asia/Shanghai + SPRING_PROFILES_ACTIVE: prod + JAVA_OPTS: "-Xms1024m -Xmx2048m -XX:+UseContainerSupport -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs" + + SPRING_CLOUD_NACOS_CONFIG_SERVER_ADDR: 172.17.16.14:8848 + SPRING_CLOUD_NACOS_CONFIG_NAMESPACE: "aiot-platform" + SPRING_CLOUD_NACOS_SERVER_ADDR: 172.17.16.14:8848 + SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE: "aiot-platform" + SPRING_CLOUD_NACOS_DISCOVERY_IP: 172.17.16.14 + + SPRING_DATA_REDIS_HOST: 172.17.16.14 + SPRING_DATA_REDIS_PASSWORD: "9kHXcZ1ojFsD" + + ROCKETMQ_NAME_SERVER: 172.17.16.14:9876 + volumes: - app-logs:/app/logs deploy: resources: limits: - memory: ${IOT_GATEWAY_MEMORY_LIMIT} + memory: 2560m cpus: '1.5' healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:48084"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 90s + test: ["CMD", "curl", "-f", "http://localhost:48084/actuator/health"] + interval: 10s + timeout: 5s + retries: 12 + start_period: 120s depends_on: viewsh-module-iot-server: condition: service_healthy - - viewsh-module-ops-server: - image: ${REGISTRY_HOST}/viewsh-module-ops-server:${IMAGE_TAG} - container_name: aiot-ops-server - restart: on-failure:5 - network_mode: host - environment: - JAVA_OPTS: "-Xms${OPS_JVM_XMS} -Xmx${OPS_JVM_XMX} ${JVM_COMMON_OPTS}" - SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE} - SPRING_AUTOCONFIGURE_EXCLUDE: com.binarywang.spring.starter.wxjava.mp.config.WxMpServiceAutoConfiguration - NACOS_SERVER_ADDR: ${NACOS_HOST}:${NACOS_PORT} - MYSQL_HOST: ${MYSQL_HOST} - MYSQL_PORT: ${MYSQL_PORT} - MYSQL_DATABASE: ${MYSQL_DATABASE} - MYSQL_USER: ${MYSQL_USER} - MYSQL_PASSWORD: ${MYSQL_PASSWORD} - REDIS_HOST: ${REDIS_HOST} - REDIS_PORT: ${REDIS_PORT} - REDIS_PASSWORD: ${REDIS_PASSWORD} - TZ: ${TZ} - volumes: - - app-logs:/app/logs - deploy: - resources: - limits: - memory: ${OPS_MEMORY_LIMIT} - cpus: '0.5' - healthcheck: - test: ["CMD", "curl", "-f", "http://localhost:48085"] - interval: 30s - timeout: 10s - retries: 5 - start_period: 90s - depends_on: - viewsh-module-infra-server: - condition: service_healthy - - # ============ XXL-JOB Admin (可选,暂时注释) ============ - # 如需部署 XXL-JOB Admin,取消以下注释 - # xxl-job-admin: - # image: xuxueli/xxl-job-admin:2.4.0 - # container_name: aiot-xxl-job-admin - # restart: unless-stopped - # network_mode: host - # environment: - # TZ: ${TZ} - # PARAMS: > - # --spring.datasource.url=jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DATABASE}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true - # --spring.datasource.username=${MYSQL_USER} - # --spring.datasource.password=${MYSQL_PASSWORD} - # --xxl.job.accessToken=${XXL_JOB_ACCESS_TOKEN:-default_token} - # volumes: - # - app-logs:/data/applogs - # healthcheck: - # test: ["CMD", "curl", "-f", "http://localhost:9090/xxl-job-admin"] - # interval: 30s - # timeout: 10s - # retries: 5 - # start_period: 60s diff --git a/viewsh-gateway/src/main/resources/application-prod.yaml b/viewsh-gateway/src/main/resources/application-prod.yaml index 6db0b12..a916929 100644 --- a/viewsh-gateway/src/main/resources/application-prod.yaml +++ b/viewsh-gateway/src/main/resources/application-prod.yaml @@ -3,26 +3,29 @@ spring: cloud: nacos: - server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} - username: ${NACOS_USERNAME:} - password: ${NACOS_PASSWORD:} + server-addr: 127.0.0.1:8848 + username: nacos + password: nacos discovery: - namespace: ${NACOS_NAMESPACE:} - group: ${NACOS_GROUP:DEFAULT_GROUP} + namespace: "" + group: DEFAULT_GROUP + ip: 127.0.0.1 metadata: version: 1.0.0 config: - namespace: ${NACOS_NAMESPACE:} - group: ${NACOS_GROUP:DEFAULT_GROUP} + namespace: "" + group: DEFAULT_GROUP + file-extension: yaml + refresh-enabled: true --- #################### Redis 配置 #################### spring: data: redis: - host: ${REDIS_HOST:127.0.0.1} - port: ${REDIS_PORT:6379} - database: ${REDIS_DATABASE:0} - password: ${REDIS_PASSWORD:} + host: 127.0.0.1 + port: 6379 + database: 0 + password: "" timeout: 5000ms lettuce: pool: diff --git a/viewsh-module-infra/viewsh-module-infra-server/src/main/resources/application-prod.yaml b/viewsh-module-infra/viewsh-module-infra-server/src/main/resources/application-prod.yaml index 57937af..364d93d 100644 --- a/viewsh-module-infra/viewsh-module-infra-server/src/main/resources/application-prod.yaml +++ b/viewsh-module-infra/viewsh-module-infra-server/src/main/resources/application-prod.yaml @@ -3,17 +3,20 @@ spring: cloud: nacos: - server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} - username: ${NACOS_USERNAME:} - password: ${NACOS_PASSWORD:} + server-addr: 127.0.0.1:8848 + username: nacos + password: nacos discovery: - namespace: ${NACOS_NAMESPACE:} - group: ${NACOS_GROUP:DEFAULT_GROUP} + namespace: "" + group: DEFAULT_GROUP + ip: 127.0.0.1 metadata: version: 1.0.0 config: - namespace: ${NACOS_NAMESPACE:} - group: ${NACOS_GROUP:DEFAULT_GROUP} + namespace: "" + group: DEFAULT_GROUP + file-extension: yaml + refresh-enabled: true lifecycle: timeout-per-shutdown-phase: 30s # 增加优雅关闭超时时间 diff --git a/viewsh-module-iot/viewsh-module-iot-gateway/src/main/resources/application-prod.yaml b/viewsh-module-iot/viewsh-module-iot-gateway/src/main/resources/application-prod.yaml index 8f51d00..07be0ff 100644 --- a/viewsh-module-iot/viewsh-module-iot-gateway/src/main/resources/application-prod.yaml +++ b/viewsh-module-iot/viewsh-module-iot-gateway/src/main/resources/application-prod.yaml @@ -5,17 +5,20 @@ spring: cloud: nacos: - server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} - username: ${NACOS_USERNAME:} - password: ${NACOS_PASSWORD:} + server-addr: 127.0.0.1:8848 + username: nacos + password: nacos discovery: - namespace: ${NACOS_NAMESPACE:} - group: ${NACOS_GROUP:DEFAULT_GROUP} + namespace: "" + group: DEFAULT_GROUP + ip: 127.0.0.1 metadata: version: 1.0.0 config: - namespace: ${NACOS_NAMESPACE:} - group: ${NACOS_GROUP:DEFAULT_GROUP} + namespace: "" + group: DEFAULT_GROUP + file-extension: yaml + refresh-enabled: true --- #################### 应用配置 #################### diff --git a/viewsh-module-iot/viewsh-module-iot-server/src/main/resources/application-prod.yaml b/viewsh-module-iot/viewsh-module-iot-server/src/main/resources/application-prod.yaml index 6b500a1..e7223a6 100644 --- a/viewsh-module-iot/viewsh-module-iot-server/src/main/resources/application-prod.yaml +++ b/viewsh-module-iot/viewsh-module-iot-server/src/main/resources/application-prod.yaml @@ -3,17 +3,20 @@ spring: cloud: nacos: - server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} - username: ${NACOS_USERNAME:} - password: ${NACOS_PASSWORD:} + server-addr: 127.0.0.1:8848 + username: nacos + password: nacos discovery: - namespace: ${NACOS_NAMESPACE:} - group: ${NACOS_GROUP:DEFAULT_GROUP} + namespace: "" + group: DEFAULT_GROUP + ip: 127.0.0.1 metadata: version: 1.0.0 config: - namespace: ${NACOS_NAMESPACE:} - group: ${NACOS_GROUP:DEFAULT_GROUP} + namespace: "" + group: DEFAULT_GROUP + file-extension: yaml + refresh-enabled: true --- #################### 数据库相关配置 #################### spring: diff --git a/viewsh-module-system/viewsh-module-system-server/src/main/resources/application-prod.yaml b/viewsh-module-system/viewsh-module-system-server/src/main/resources/application-prod.yaml index c938cbc..f5bc554 100644 --- a/viewsh-module-system/viewsh-module-system-server/src/main/resources/application-prod.yaml +++ b/viewsh-module-system/viewsh-module-system-server/src/main/resources/application-prod.yaml @@ -3,17 +3,20 @@ spring: cloud: nacos: - server-addr: ${NACOS_SERVER_ADDR:127.0.0.1:8848} # Nacos 服务器地址,支持环境变量 - username: ${NACOS_USERNAME:} # Nacos 账号 - password: ${NACOS_PASSWORD:} # Nacos 密码 - discovery: # 【服务发现】配置项 - namespace: ${NACOS_NAMESPACE:} # 命名空间,生产环境 - group: ${NACOS_GROUP:DEFAULT_GROUP} # 使用的 Nacos 配置分组 + server-addr: 127.0.0.1:8848 + username: nacos + password: nacos + discovery: + namespace: "" + group: DEFAULT_GROUP + ip: 127.0.0.1 metadata: - version: 1.0.0 # 服务实例的版本号 - config: # 【配置中心】配置项 - namespace: ${NACOS_NAMESPACE:} # 命名空间,生产环境 - group: ${NACOS_GROUP:DEFAULT_GROUP} # 使用的 Nacos 配置分组 + version: 1.0.0 + config: + namespace: "" + group: DEFAULT_GROUP + file-extension: yaml + refresh-enabled: true --- #################### 数据库相关配置 #################### spring: @@ -54,22 +57,22 @@ spring: primary: master datasource: master: - url: jdbc:mysql://${MYSQL_HOST:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DATABASE:aiot_platform}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true - username: ${MYSQL_USER:root} - password: ${MYSQL_PASSWORD:} + url: jdbc:mysql://127.0.0.1:3306/aiot_platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true + username: root + password: root slave: # 从库配置(可选) lazy: true - url: jdbc:mysql://${MYSQL_SLAVE_HOST:${MYSQL_HOST:127.0.0.1}}:${MYSQL_SLAVE_PORT:${MYSQL_PORT:3306}}/${MYSQL_DATABASE:aiot_platform}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true - username: ${MYSQL_SLAVE_USER:${MYSQL_USER:root}} - password: ${MYSQL_SLAVE_PASSWORD:${MYSQL_PASSWORD:}} + url: jdbc:mysql://127.0.0.1:3306/aiot_platform?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true + username: root + password: root # Redis 配置 data: redis: - host: ${REDIS_HOST:127.0.0.1} - port: ${REDIS_PORT:6379} - database: ${REDIS_DATABASE:0} - password: ${REDIS_PASSWORD:} + host: 127.0.0.1 + port: 6379 + database: 0 + password: "" timeout: 5000ms lettuce: pool: