引入nacos支持
All checks were successful
test/timeline-server/pipeline/head This commit looks good

This commit is contained in:
2026-01-05 15:57:02 +08:00
parent 640eb23bde
commit de03f2f9d4
10 changed files with 166 additions and 54 deletions

124
Jenkinsfile vendored
View File

@@ -181,10 +181,10 @@ def getDockerfileContent(serviceDir) {
// 生成docker-compose文件内容的函数
def getComposeFileContent(buildNumber) {
return """version: '3.8'
if (params.DEPLOY_ENV == 'prod') {
return """version: '3.8'
services:
timeline-story-service:
image: timeline-registry:5000/timeline-story-service:${buildNumber}
container_name: timeline-story-service
@@ -192,6 +192,8 @@ services:
- "30001:30001"
environment:
- server.port=30001
- spring.cloud.nacos.discovery.server-addr=nacos-server:8848
- spring.cloud.nacos.config.server-addr=nacos-server:8848
- spring.datasource.url=jdbc:mysql://host.docker.internal:33306/timeline?serverTimezone=UTC&allowPublicKeyRetrieval=true
- spring.datasource.username=root
- spring.datasource.password=WoCloud@9ol7uj
@@ -210,6 +212,8 @@ services:
- "30002:30002"
environment:
- server.port=30002
- spring.cloud.nacos.discovery.server-addr=nacos-server:8848
- spring.cloud.nacos.config.server-addr=nacos-server:8848
- spring.datasource.url=jdbc:mysql://host.docker.internal:33306/timeline?serverTimezone=UTC&allowPublicKeyRetrieval=true
- spring.datasource.username=root
- spring.datasource.password=WoCloud@9ol7uj
@@ -227,6 +231,8 @@ services:
- "30003:30003"
environment:
- server.port=30003
- spring.cloud.nacos.discovery.server-addr=nacos-server:8848
- spring.cloud.nacos.config.server-addr=nacos-server:8848
- spring.datasource.url=jdbc:mysql://host.docker.internal:33306/timeline?serverTimezone=UTC&allowPublicKeyRetrieval=true
- spring.datasource.username=root
- spring.datasource.password=WoCloud@9ol7uj
@@ -239,24 +245,30 @@ services:
timeline-gateway-service:
image: timeline-registry:5000/timeline-gateway-service:${buildNumber}
container_name: timeline-gateway-service
depends_on:
- timeline-story-service
- timeline-file-service
- timeline-user-service
ports:
- "33333:30000"
environment:
- server.port=30000
- spring.cloud.nacos.discovery.server-addr=nacos-server:8848
- spring.cloud.nacos.config.server-addr=nacos-server:8848
- spring.cloud.gateway.routes[0].id=story-service
- spring.cloud.gateway.routes[0].uri=http://timeline-story-service:30001
- spring.cloud.gateway.routes[0].uri=lb://timeline-story
- spring.cloud.gateway.routes[0].predicates[0]=Path=/story/**
- spring.cloud.gateway.routes[0].filters[0]=StripPrefix=0
- spring.cloud.gateway.routes[1].id=file-service
- spring.cloud.gateway.routes[1].uri=http://timeline-file-service:30002
- spring.cloud.gateway.routes[1].uri=lb://timeline-file
- spring.cloud.gateway.routes[1].predicates[0]=Path=/file/**
- spring.cloud.gateway.routes[1].filters[0]=StripPrefix=0
- spring.cloud.gateway.routes[2].id=user-service
- spring.cloud.gateway.routes[2].uri=http://timeline-user-service:30003
- spring.cloud.gateway.routes[2].uri=lb://timeline-user
- spring.cloud.gateway.routes[2].predicates[0]=Path=/user/**
- spring.cloud.gateway.routes[2].filters[0]=StripPrefix=0
- spring.cloud.gateway.routes[3].id=user-service-ws
- spring.cloud.gateway.routes[3].uri=http://timeline-user-service:30003
- spring.cloud.gateway.routes[3].uri=lb://timeline-user
- spring.cloud.gateway.routes[3].predicates[0]=Path=/user/ws/**
- spring.cloud.gateway.routes[3].filters[0]=StripPrefix=0
- spring.datasource.url=jdbc:mysql://host.docker.internal:33306/timeline?serverTimezone=UTC&allowPublicKeyRetrieval=true
@@ -265,12 +277,108 @@ services:
- spring.data.redis.host=host.docker.internal
- spring.data.redis.port=36379
- spring.data.redis.password=123456
extra_hosts:
- "host.docker.internal:host-gateway"
"""
} else {
// 开发和预发布环境
return """version: '3.8'
services:
timeline-story-service:
image: timeline-registry:5000/timeline-story-service:${buildNumber}
container_name: timeline-story-service
ports:
- "30001:30001"
environment:
- server.port=30001
- spring.cloud.nacos.discovery.server-addr=nacos:8848
- spring.cloud.nacos.config.server-addr=nacos:8848
- spring.datasource.url=jdbc:mysql://host.docker.internal:33306/timeline?serverTimezone=UTC&allowPublicKeyRetrieval=true
- spring.datasource.username=root
- spring.datasource.password=WoCloud@9ol7uj
- spring.data.redis.host=host.docker.internal
- spring.data.redis.port=36379
- spring.data.redis.password=123456
- file.service.url=http://timeline-file-service:30002/file/
- user.service.url=http://timeline-user-service:30003/user/
extra_hosts:
- "host.docker.internal:host-gateway"
timeline-file-service:
image: timeline-registry:5000/timeline-file-service:${buildNumber}
container_name: timeline-file-service
ports:
- "30002:30002"
environment:
- server.port=30002
- spring.cloud.nacos.discovery.server-addr=nacos:8848
- spring.cloud.nacos.config.server-addr=nacos:8848
- spring.datasource.url=jdbc:mysql://host.docker.internal:33306/timeline?serverTimezone=UTC&allowPublicKeyRetrieval=true
- spring.datasource.username=root
- spring.datasource.password=WoCloud@9ol7uj
- minio.endpoint=http://host.docker.internal:9000
- minio.accessKey=9ttSGjvQxek2uKKlhpqI
- minio.secretKey=12CaKew53tu94tgyDLoqAwAq32iDuz3SWW0O1hex
- minio.bucketName=timeline-test
extra_hosts:
- "host.docker.internal:host-gateway"
timeline-user-service:
image: timeline-registry:5000/timeline-user-service:${buildNumber}
container_name: timeline-user-service
ports:
- "30003:30003"
environment:
- server.port=30003
- spring.cloud.nacos.discovery.server-addr=nacos:8848
- spring.cloud.nacos.config.server-addr=nacos:8848
- spring.datasource.url=jdbc:mysql://host.docker.internal:33306/timeline?serverTimezone=UTC&allowPublicKeyRetrieval=true
- spring.datasource.username=root
- spring.datasource.password=WoCloud@9ol7uj
- spring.data.redis.host=host.docker.internal
- spring.data.redis.port=36379
- spring.data.redis.password=123456
extra_hosts:
- "host.docker.internal:host-gateway"
timeline-gateway-service:
image: timeline-registry:5000/timeline-gateway-service:${buildNumber}
container_name: timeline-gateway-service
depends_on:
- timeline-story-service
- timeline-file-service
- timeline-user-service
ports:
- "33333:30000"
environment:
- server.port=30000
- spring.cloud.nacos.discovery.server-addr=nacos:8848
- spring.cloud.nacos.config.server-addr=nacos:8848
- spring.cloud.gateway.routes[0].id=story-service
- spring.cloud.gateway.routes[0].uri=lb://timeline-story
- spring.cloud.gateway.routes[0].predicates[0]=Path=/story/**
- spring.cloud.gateway.routes[0].filters[0]=StripPrefix=0
- spring.cloud.gateway.routes[1].id=file-service
- spring.cloud.gateway.routes[1].uri=lb://timeline-file
- spring.cloud.gateway.routes[1].predicates[0]=Path=/file/**
- spring.cloud.gateway.routes[1].filters[0]=StripPrefix=0
- spring.cloud.gateway.routes[2].id=user-service
- spring.cloud.gateway.routes[2].uri=lb://timeline-user
- spring.cloud.gateway.routes[2].predicates[0]=Path=/user/**
- spring.cloud.gateway.routes[2].filters[0]=StripPrefix=0
- spring.cloud.gateway.routes[3].id=user-service-ws
- spring.cloud.gateway.routes[3].uri=lb://timeline-user
- spring.cloud.gateway.routes[3].predicates[0]=Path=/user/ws/**
- spring.cloud.gateway.routes[3].filters[0]=StripPrefix=0
- spring.datasource.url=jdbc:mysql://host.docker.internal:33306/timeline?serverTimezone=UTC&allowPublicKeyRetrieval=true
- spring.datasource.username=root
- spring.datasource.password=WoCloud@9ol7uj
- spring.data.redis.host=host.docker.internal
- spring.data.redis.port=36379
- spring.data.redis.password=123456
extra_hosts:
- "host.docker.internal:host-gateway"
"""
}
}
}

View File

@@ -11,7 +11,7 @@ if %errorlevel% neq 0 (
)
REM 检查 Docker Compose 是否可用
docker-compose version >nul 2>&1
docker compose version >nul 2>&1
if %errorlevel% neq 0 (
echo 错误: 未找到 Docker Compose请先安装 Docker Compose
exit /b 1
@@ -23,7 +23,7 @@ call mvnw.cmd clean package -DskipTests
REM 构建并启动服务
echo 正在构建并启动服务...
docker-compose up --build -d
docker compose up --build -d
REM 等待服务启动
echo 等待服务启动...
@@ -31,7 +31,7 @@ timeout /t 30 /nobreak >nul
REM 检查服务状态
echo 检查服务状态...
docker-compose ps
docker compose ps
echo 部署完成!
echo 网关服务: http://localhost:30000

View File

@@ -11,8 +11,8 @@ if ! command -v docker &> /dev/null; then
exit 1
fi
if ! command -v docker-compose &> /dev/null; then
echo "错误: 未找到 docker-compose 命令,请先安装 Docker Compose"
if ! command -v docker compose &> /dev/null; then
echo "错误: 未找到 docker compose 命令,请先安装 Docker Compose"
exit 1
fi
@@ -22,7 +22,7 @@ echo "正在构建项目..."
# 构建并启动服务
echo "正在构建并启动服务..."
docker-compose up --build -d
docker compose up --build -d
# 等待服务启动
echo "等待服务启动..."
@@ -30,7 +30,7 @@ sleep 30
# 检查服务状态
echo "检查服务状态..."
docker-compose ps
docker compose ps
echo "部署完成!"
echo "网关服务: http://localhost:30000"

View File

@@ -3,13 +3,13 @@ spring.datasource.url=jdbc:mysql://59.80.22.43:33306/timeline?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=WoCloud@9ol7uj
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# MinIO 配置
# MinIO 配置
minio.endpoint=http://59.80.22.43:9000
minio.accessKey=9ttSGjvQxek2uKKlhpqI
minio.secretKey=12CaKew53tu94tgyDLoqAwAq32iDuz3SWW0O1hex
minio.bucketName=timeline-test
# MyBatis 配置
# MyBatis 配置
mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.timeline.file.entity
@@ -21,8 +21,8 @@ spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=1000MB
spring.servlet.multipart.max-request-size=1000MB
# Nacos配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
# Nacos配置
spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR:127.0.0.1:8848}
spring.cloud.nacos.config.server-addr=${spring.cloud.nacos.discovery.server-addr}
# Ensure UTF-8 encoding for logs and web layer to avoid garbled Chinese output

View File

@@ -1,15 +1,16 @@
# Nacos配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
# Nacos配置
spring.config.import=nacos:
spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR:127.0.0.1:8848}
spring.cloud.nacos.discovery.namespace=public
spring.cloud.nacos.discovery.group=DEFAULT_GROUP
# Nacos配置中心
# Nacos配置中心
spring.cloud.nacos.config.server-addr=${spring.cloud.nacos.discovery.server-addr}
spring.cloud.nacos.config.namespace=${spring.cloud.nacos.discovery.namespace}
spring.cloud.nacos.config.group=${spring.cloud.nacos.discovery.group}
spring.cloud.nacos.config.file-extension=properties
# 如果需要从Nacos配置中心加载配置文件取消下面的注释
# spring.cloud.nacos.config.shared-configs[0].data-id=common.properties
# spring.cloud.nacos.config.shared-configs[0].group=DEFAULT_GROUP
# spring.cloud.nacos.config.shared-configs[0].refresh=true
# 如果需要从Nacos配置中心加载配置文件,取消下面的注释
spring.cloud.nacos.config.shared-configs[0].data-id=common.properties
spring.cloud.nacos.config.shared-configs[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.shared-configs[0].refresh=true

View File

@@ -2,11 +2,11 @@
spring.application.name=timeline-gateway
server.port=30000
# Nacos配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
# Nacos配置
spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR:127.0.0.1:8848}
spring.cloud.nacos.config.server-addr=${spring.cloud.nacos.discovery.server-addr}
# 使用Nacos服务发现进行路由
# 使用Nacos服务发现进行路由
spring.cloud.gateway.routes[0].id=story-service
spring.cloud.gateway.routes[0].uri=lb://timeline-story
spring.cloud.gateway.routes[0].predicates[0]=Path=/story/**
@@ -27,7 +27,7 @@ spring.cloud.gateway.routes[3].uri=lb://timeline-user
spring.cloud.gateway.routes[3].predicates[0]=Path=/user/**
spring.cloud.gateway.routes[3].filters[0]=StripPrefix=0
# JWT配置
# JWT配置
jwt.secret=6f3f9c2b9d9a4e3f8c0d6a7b5c4e3f1a6f3f9c2b9d9a4e3f8c0d6a7b5c4e3f1a
jwt.expiration=86400
@@ -37,10 +37,10 @@ spring.data.redis.port=36379
spring.data.redis.password=123456
spring.data.redis.timeout=5000
# Actuator配置
# Actuator配置
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
# 日志配置
# 日志配置
logging.level.org.springframework.cloud.gateway=DEBUG
logging.level.com.timeline.gateway=DEBUG

View File

@@ -1,15 +1,16 @@
# Nacos配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
# Nacos配置
spring.config.import=nacos:
spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR:127.0.0.1:8848}
spring.cloud.nacos.discovery.namespace=public
spring.cloud.nacos.discovery.group=DEFAULT_GROUP
# Nacos配置中心
# Nacos配置中心
spring.cloud.nacos.config.server-addr=${spring.cloud.nacos.discovery.server-addr}
spring.cloud.nacos.config.namespace=${spring.cloud.nacos.discovery.namespace}
spring.cloud.nacos.config.group=${spring.cloud.nacos.discovery.group}
spring.cloud.nacos.config.file-extension=properties
# 如果需要从Nacos配置中心加载配置文件取消下面的注释
# spring.cloud.nacos.config.shared-configs[0].data-id=common.properties
# spring.cloud.nacos.config.shared-configs[0].group=DEFAULT_GROUP
# spring.cloud.nacos.config.shared-configs[0].refresh=true
# 如果需要从Nacos配置中心加载配置文件,取消下面的注释
spring.cloud.nacos.config.shared-configs[0].data-id=common.properties
spring.cloud.nacos.config.shared-configs[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.shared-configs[0].refresh=true

View File

@@ -1,15 +1,16 @@
# Nacos配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
# Nacos配置
spring.config.import=nacos:
spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR:127.0.0.1:8848}
spring.cloud.nacos.discovery.namespace=public
spring.cloud.nacos.discovery.group=DEFAULT_GROUP
# Nacos配置中心
# Nacos配置中心
spring.cloud.nacos.config.server-addr=${spring.cloud.nacos.discovery.server-addr}
spring.cloud.nacos.config.namespace=${spring.cloud.nacos.discovery.namespace}
spring.cloud.nacos.config.group=${spring.cloud.nacos.discovery.group}
spring.cloud.nacos.config.file-extension=properties
# 如果需要从Nacos配置中心加载配置文件取消下面的注释
# spring.cloud.nacos.config.shared-configs[0].data-id=common.properties
# spring.cloud.nacos.config.shared-configs[0].group=DEFAULT_GROUP
# spring.cloud.nacos.config.shared-configs[0].refresh=true
# 如果需要从Nacos配置中心加载配置文件,取消下面的注释
spring.cloud.nacos.config.shared-configs[0].data-id=common.properties
spring.cloud.nacos.config.shared-configs[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.shared-configs[0].refresh=true

View File

@@ -32,7 +32,7 @@ spring.data.redis.password=123456
spring.data.redis.timeout=5000
# Nacos配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR:127.0.0.1:8848}
spring.cloud.nacos.config.server-addr=${spring.cloud.nacos.discovery.server-addr}
# 连接池

View File

@@ -1,15 +1,16 @@
# Nacos配置
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
# Nacos配置
spring.config.import=nacos:
spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR:127.0.0.1:8848}
spring.cloud.nacos.discovery.namespace=public
spring.cloud.nacos.discovery.group=DEFAULT_GROUP
# Nacos配置中心
# Nacos配置中心
spring.cloud.nacos.config.server-addr=${spring.cloud.nacos.discovery.server-addr}
spring.cloud.nacos.config.namespace=${spring.cloud.nacos.discovery.namespace}
spring.cloud.nacos.config.group=${spring.cloud.nacos.discovery.group}
spring.cloud.nacos.config.file-extension=properties
# 如果需要从Nacos配置中心加载配置文件取消下面的注释
# spring.cloud.nacos.config.shared-configs[0].data-id=common.properties
# spring.cloud.nacos.config.shared-configs[0].group=DEFAULT_GROUP
# spring.cloud.nacos.config.shared-configs[0].refresh=true
# 如果需要从Nacos配置中心加载配置文件,取消下面的注释
spring.cloud.nacos.config.shared-configs[0].data-id=common.properties
spring.cloud.nacos.config.shared-configs[0].group=DEFAULT_GROUP
spring.cloud.nacos.config.shared-configs[0].refresh=true