Samples 打包与本地部署
两种本地运行方式
Samples 的 deploy/ 支持仅启动基础设施的 IDE 模式,以及使用 apps profile 启动完整应用的容器模式。Macula Cloud IAM、Gateway 和 System 是外部依赖,不包含在 Samples 编排中。
检查与启动
在 macula-samples 仓库根目录复制 deploy/.env.example 为 deploy/.env,设置 Cloud IAM、Cloud Gateway、Cloud System Redis 与登记的应用 / OAuth 信息。
./deploy/scripts/compose.sh config-apps
./deploy/scripts/compose.sh up-apps
./deploy/scripts/compose.sh status
完整模式构建并启动各应用,只向宿主机发布 Samples Gateway 6000 与 Admin 5800;BFF、Service1、Basic、OpenAPI、Thirdparty 通过容器网络访问。
普通停止使用 ./deploy/scripts/compose.sh down,保留持久化数据。具体日志、镜像和卷操作以仓库内的 deploy/README.md 为准。
容器与浏览器地址
- 后端在容器内使用 Compose 服务名;非网关模块的 JWK 地址为
http://macula-samples-gateway:6000/oauth2/jwks。 - BFF 的
MACULA_CLOUD_GATEWAY_INTERNAL_URL是后端访问外部 Cloud 的地址。 - 管理端 IAM 地址必须能被浏览器访问;Admin 的业务请求通过同源
/api进入 Samples Gateway。 - Admin 的 Docker 运行配置由启动时的
config.js提供,开发模式由 Vite 环境配置提供。
构建与环境
Samples Parent 定义 local/dev/stg/pet/prd Maven profile。模块构建时选择目标环境,运行时再按部署方式指定对应 Spring profile;配置规范见application.yml 配置规范。
本地 Compose 用于开发与集成验证。共享环境的业务值放在对应 Nacos Data ID 中,数据库迁移与应用版本一起管理,发布前完成运行与测试中的相关检查。