From f3882418d9042783f65550ba9fb7606b2fe429e8 Mon Sep 17 00:00:00 2001 From: gewuyou Date: Sat, 10 May 2025 18:43:37 +0800 Subject: [PATCH] =?UTF-8?q?build:=E9=87=8D=E6=9E=84=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E4=BE=9D=E8=B5=96=E5=B9=B6=E4=BC=98=E5=8C=96=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除 llmx-core-service 和 llmx-impl-bailian 模块中的重复配置 - 更新 Nacos 配置,启用配置刷新功能 - 添加 PostgreSQL 数据库依赖 -调整 Docker Compose 配置 - 更新项目构建脚本,支持条件依赖加载 --- build.gradle.kts | 21 +++++++++++++++---- buildSrc/src/main/kotlin/ProjectFlags.kt | 2 ++ docker/docker-compose.dev.yml | 2 +- docker/docker-compose.test.yml | 6 +++--- gradle/libs.versions.toml | 4 ++++ llmx-core/llmx-core-service/build.gradle.kts | 7 ++----- .../src/main/resources/application-dev.yml | 10 --------- .../src/main/resources/bootstrap-dev.yml | 12 +++++++++-- .../src/main/resources/bootstrap-test.yml | 12 +++++------ .../src/main/resources/application-dev.yml | 14 ------------- .../src/main/resources/bootstrap-dev.yml | 12 +++++++++-- .../src/main/resources/bootstrap-test.yml | 12 +++++------ 12 files changed, 59 insertions(+), 55 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index b7b2d96..fa0737c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -24,6 +24,8 @@ allprojects { set(ProjectFlags.IS_ROOT_MODULE, false) set(ProjectFlags.USE_SPRING_BOOT_BOM, false) set(ProjectFlags.USE_LLM_IMPL_PLATFORM_DEPENDENCE, false) + set(ProjectFlags.USE_NACOS_DEPENDENCE, false) + set(ProjectFlags.USE_DAO_DEPENDENCE, false) } repositories { mavenLocal() @@ -73,12 +75,9 @@ subprojects { setProperty(ProjectFlags.USE_SPRING_BOOT_WEB, true) setProperty(ProjectFlags.USE_SPRING_CLOUD_BOM, true) setProperty(ProjectFlags.USE_LLM_KT_IMPL_DEPENDENCE, true) + setProperty(ProjectFlags.USE_NACOS_DEPENDENCE, true) } dependencies { - // Nacos 服务发现和配置 - implementation(libs.springCloudStarter.alibaba.nacos.discovery) - implementation(libs.springCloudStarter.alibaba.nacos.config) - implementation(libs.springCloudStarter.bootstrap) // 核心spi依赖 implementation(project(Modules.Core.SPI)) // okHttp依赖 @@ -88,6 +87,20 @@ subprojects { implementation(libs.forgeBoot.core.extension) } } + if(project.getPropertyByBoolean(ProjectFlags.USE_DAO_DEPENDENCE)){ + dependencies{ + runtimeOnly(libs.postgresql) + implementation(libs.springBootStarter.data.jpa) + } + } + // nacos dependence + if(project.getPropertyByBoolean(ProjectFlags.USE_NACOS_DEPENDENCE)){ + dependencies { + implementation(libs.springCloudStarter.alibaba.nacos.discovery) + implementation(libs.springCloudStarter.alibaba.nacos.config) + implementation(libs.springCloudStarter.bootstrap) + } + } // springCloudBom if (project.getPropertyByBoolean(ProjectFlags.USE_SPRING_CLOUD_BOM)) { dependencies { diff --git a/buildSrc/src/main/kotlin/ProjectFlags.kt b/buildSrc/src/main/kotlin/ProjectFlags.kt index a64e694..ba8c4cd 100644 --- a/buildSrc/src/main/kotlin/ProjectFlags.kt +++ b/buildSrc/src/main/kotlin/ProjectFlags.kt @@ -4,6 +4,8 @@ object ProjectFlags { const val USE_SPRING_CLOUD_BOM = "useSpringCloudBom" const val USE_LLM_KT_IMPL_DEPENDENCE = "useLLMKtImplDependence" const val IS_ROOT_MODULE = "isRootModule" + const val USE_NACOS_DEPENDENCE = "useNacosDependence" + const val USE_DAO_DEPENDENCE = "useDaoDependence" /** * 使用实现服务第三方平台依赖 diff --git a/docker/docker-compose.dev.yml b/docker/docker-compose.dev.yml index 6faec0b..9576670 100644 --- a/docker/docker-compose.dev.yml +++ b/docker/docker-compose.dev.yml @@ -8,7 +8,7 @@ services: networks: - llmx-net environment: - POSTGRES_DB: llmx_core + POSTGRES_DB: llmx_db POSTGRES_USER: llmx POSTGRES_PASSWORD: L4s6f9y3, volumes: diff --git a/docker/docker-compose.test.yml b/docker/docker-compose.test.yml index 4665134..2b22640 100644 --- a/docker/docker-compose.test.yml +++ b/docker/docker-compose.test.yml @@ -4,9 +4,9 @@ services: container_name: llmx-nacos restart: always ports: - - "9001:8848" - - "9053:9848" - - "9054:9849" + - "8848:8848" + - "9848:9848" + - "9849:9849" networks: - llmx-net-test environment: diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index de1f6f7..61f44af 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -9,6 +9,7 @@ forgeBoot-version = "1.3.0-SNAPSHOT" okHttp-version = "4.12.0" jib-version = "3.4.2" org-reactivestreams-reactiveStreams-version = "1.0.4" +postgresql-version = "42.7.4" [plugins] # 应用 Java 插件,提供基本的 Java 代码编译和构建能力 java = { id = "java" } @@ -50,6 +51,7 @@ springCloudStarter-bootstrap = { group = "org.springframework.cloud", name = "sp springBootStarter-webflux = { group = "org.springframework.boot", name = "spring-boot-starter-webflux" } springBootStarter-web = { group = "org.springframework.boot", name = "spring-boot-starter-web" } springBootStarter-test = { group = "org.springframework.boot", name = "spring-boot-starter-test" } +springBootStarter-data-jpa = { group = "org.springframework.boot", name = "spring-boot-starter-data-jpa" } junitPlatform-launcher = { group = "org.junit.platform", name = "junit-platform-launcher" } @@ -67,4 +69,6 @@ jackson-databind={group="com.fasterxml.jackson.core", name="jackson-databind"} jackson-annotations={group="com.fasterxml.jackson.core", name="jackson-annotations"} jackson-datatype-jsr310={group="com.fasterxml.jackson.datatype", name="jackson-datatype-jsr310"} jackson-module-kotlin={group="com.fasterxml.jackson.module", name="jackson-module-kotlin"} + +postgresql = { module = "org.postgresql:postgresql", version.ref = "postgresql-version" } [bundles] diff --git a/llmx-core/llmx-core-service/build.gradle.kts b/llmx-core/llmx-core-service/build.gradle.kts index 8116df6..24c0ba8 100644 --- a/llmx-core/llmx-core-service/build.gradle.kts +++ b/llmx-core/llmx-core-service/build.gradle.kts @@ -2,13 +2,10 @@ extra { // 开启springboot setProperty(ProjectFlags.USE_SPRING_BOOT_WEB, true) setProperty(ProjectFlags.USE_SPRING_CLOUD_BOM,true) + setProperty(ProjectFlags.USE_NACOS_DEPENDENCE, true) + setProperty(ProjectFlags.USE_DAO_DEPENDENCE, true) } dependencies { - // Nacos 服务发现和配置 - implementation(libs.springCloudStarter.alibaba.nacos.discovery) - implementation(libs.springCloudStarter.alibaba.nacos.config) - implementation(libs.springCloudStarter.bootstrap) - // WebClient 和 Spring Cloud LoadBalancer implementation(libs.springBootStarter.webflux) implementation(libs.springCloudStarter.loadbalancer) diff --git a/llmx-core/llmx-core-service/src/main/resources/application-dev.yml b/llmx-core/llmx-core-service/src/main/resources/application-dev.yml index d5844fb..31fbee8 100644 --- a/llmx-core/llmx-core-service/src/main/resources/application-dev.yml +++ b/llmx-core/llmx-core-service/src/main/resources/application-dev.yml @@ -1,14 +1,4 @@ server: port: 8081 -spring: - config: - import: classpath:bootstrap-dev.yml -llmx: - model-route: - modelServiceMap: - qwen-turbo: llmx-impl-baiLian - qwen-max: llmx-impl-baiLian - qwen-plus: llmx-impl-baiLian - qwen-vl-max-latest: llmx-impl-baiLian diff --git a/llmx-core/llmx-core-service/src/main/resources/bootstrap-dev.yml b/llmx-core/llmx-core-service/src/main/resources/bootstrap-dev.yml index 37654f9..9559f7f 100644 --- a/llmx-core/llmx-core-service/src/main/resources/bootstrap-dev.yml +++ b/llmx-core/llmx-core-service/src/main/resources/bootstrap-dev.yml @@ -2,11 +2,19 @@ spring: cloud: nacos: username: nacos - password: L4s6f9y3 + password: L4s6f9y3, server-addr: 49.235.96.75:8848 ip: 192.168.1.100 discovery: server-addr: ${spring.cloud.nacos.server-addr} username: ${spring.cloud.nacos.username} password: ${spring.cloud.nacos.password} - ip: ${spring.cloud.nacos.ip} \ No newline at end of file + ip: ${spring.cloud.nacos.ip} + config: + file-extension: yaml + namespace: a17d57ec-4fd9-44c7-a617-7f6003a0b332 + refresh-enabled: true + extension-configs: + - data-id: ${spring.application.name}-${spring.profiles.active}.yaml + refresh: true + group: ${spring.application.name} \ No newline at end of file diff --git a/llmx-core/llmx-core-service/src/main/resources/bootstrap-test.yml b/llmx-core/llmx-core-service/src/main/resources/bootstrap-test.yml index 143c1eb..9a85cbf 100644 --- a/llmx-core/llmx-core-service/src/main/resources/bootstrap-test.yml +++ b/llmx-core/llmx-core-service/src/main/resources/bootstrap-test.yml @@ -9,12 +9,10 @@ spring: username: ${spring.cloud.nacos.username} password: ${spring.cloud.nacos.password} config: - server-addr: ${spring.cloud.nacos.server-addr} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} file-extension: yaml - namespace: 1a32d4f4-469a-4e10-ba3b-ce1bc6ba8cc9 - shared-configs: - - data-id: llmx-core-service.yml + namespace: 54a289f7-5f4a-4c83-8a0a-199defa35458 + refresh-enabled: true + extension-configs: + - data-id: ${spring.application.name}-${spring.profiles.active}.yaml refresh: true - group: test \ No newline at end of file + group: ${spring.application.name} \ No newline at end of file diff --git a/llmx-impl/llmx-impl-bailian/src/main/resources/application-dev.yml b/llmx-impl/llmx-impl-bailian/src/main/resources/application-dev.yml index 47077e1..d7fe24e 100644 --- a/llmx-impl/llmx-impl-bailian/src/main/resources/application-dev.yml +++ b/llmx-impl/llmx-impl-bailian/src/main/resources/application-dev.yml @@ -9,17 +9,3 @@ spring: nacos: discovery: server-addr: 49.235.96.75:8848 # Nacos 服务地址 -# 阿里云配置 -aliyun: - # DashScope服务配置 - dash: - # 访问凭证配置 - scope: - access-key-id: LTAI5tHiA2Ry3XTAfoSEJW6z # 阿里云访问密钥ID - access-key-secret: K5sf4FxZZuUgLEFnyfepBfMqFGmDcD # 阿里云访问密钥密钥 - endpoint: bailian.cn-beijing.aliyuncs.com # 阿里云服务端点 - workspace-id: llm-axfkuqft05uzbjpi # 工作区ID - api-key: sk-78af4dd964a94f4cb373851064dbdc12 # API密钥 - app-id: 3fae0bbab2e54a90a37aa02cd12dd62c # 应用ID - base-url: https://dashscope.aliyuncs.com/api/v1/apps/ # 基础API URL - multimodality-url: https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation diff --git a/llmx-impl/llmx-impl-bailian/src/main/resources/bootstrap-dev.yml b/llmx-impl/llmx-impl-bailian/src/main/resources/bootstrap-dev.yml index 37654f9..9559f7f 100644 --- a/llmx-impl/llmx-impl-bailian/src/main/resources/bootstrap-dev.yml +++ b/llmx-impl/llmx-impl-bailian/src/main/resources/bootstrap-dev.yml @@ -2,11 +2,19 @@ spring: cloud: nacos: username: nacos - password: L4s6f9y3 + password: L4s6f9y3, server-addr: 49.235.96.75:8848 ip: 192.168.1.100 discovery: server-addr: ${spring.cloud.nacos.server-addr} username: ${spring.cloud.nacos.username} password: ${spring.cloud.nacos.password} - ip: ${spring.cloud.nacos.ip} \ No newline at end of file + ip: ${spring.cloud.nacos.ip} + config: + file-extension: yaml + namespace: a17d57ec-4fd9-44c7-a617-7f6003a0b332 + refresh-enabled: true + extension-configs: + - data-id: ${spring.application.name}-${spring.profiles.active}.yaml + refresh: true + group: ${spring.application.name} \ No newline at end of file diff --git a/llmx-impl/llmx-impl-bailian/src/main/resources/bootstrap-test.yml b/llmx-impl/llmx-impl-bailian/src/main/resources/bootstrap-test.yml index 7b2d7f2..9a85cbf 100644 --- a/llmx-impl/llmx-impl-bailian/src/main/resources/bootstrap-test.yml +++ b/llmx-impl/llmx-impl-bailian/src/main/resources/bootstrap-test.yml @@ -9,12 +9,10 @@ spring: username: ${spring.cloud.nacos.username} password: ${spring.cloud.nacos.password} config: - server-addr: ${spring.cloud.nacos.server-addr} - username: ${spring.cloud.nacos.username} - password: ${spring.cloud.nacos.password} file-extension: yaml - namespace: da45f3a6-e7d0-4d92-b075-776adea07d6d - shared-configs: - - data-id: llmx-impl-bailian.yml + namespace: 54a289f7-5f4a-4c83-8a0a-199defa35458 + refresh-enabled: true + extension-configs: + - data-id: ${spring.application.name}-${spring.profiles.active}.yaml refresh: true - group: test \ No newline at end of file + group: ${spring.application.name} \ No newline at end of file -- 2.47.2