diff --git a/.agents/rules/ulthon-deploy-environment.md b/.agents/rules/ulthon-deploy-environment.md index bdf0e57..917511d 100644 --- a/.agents/rules/ulthon-deploy-environment.md +++ b/.agents/rules/ulthon-deploy-environment.md @@ -24,5 +24,5 @@ - 模式目录内的 `docker-compose.yaml` 是该模式的栈定义,bind mount 通常指向仓库根目录。 - 在容器外执行 `php think`:`docker compose -f source/stack//docker-compose.yaml exec php think ...`,或在模式目录内 `docker compose exec php think ...`。 - 示例:`docker compose -f source/stack/docker-dev/docker-compose.yaml exec ulthon_admin php think tools:http:call`。 -- **可用模式**见 `source/stack/stack.json` 与 `source/stack/README.md`(default / docker-serve / docker-dev / full / author 等)。 +- **可用模式**见 `source/stack/stack.json` 与 `source/stack/README.md`(default / docker-serve / docker-dev / docker-dev-sync / full / author 等)。 - **判断技巧**:如果不确定当前是否处于容器内,看 `pwd` 是否在仓库根、根目录有无 `Dockerfile`、`docker ps` 是否有相关容器在跑。容器内执行 `php think` 不需要前缀。 diff --git a/CHANGELOG.md b/CHANGELOG.md index 67c95b2..38e3b3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,10 +8,9 @@ ### 新增 -- **B-route 多模式运行**:每个运行模式(default/docker-serve/docker-dev/full/author)独立目录,各自直接运行。业务代码始终一套,在仓库根目录。 +- **B-route 多模式运行**:每个运行模式(default/docker-serve/docker-dev/docker-dev-sync/full/author)独立目录,各自直接运行。业务代码始终一套,在仓库根目录。 - default 模式:根目录直接 `php think run` - Docker 模式:`cd source/stack/ && docker compose up -d` -- **docker-dev compose profile**:原 docker-dev-sync 模式合并为 docker-dev 的 `sync` profile(Windows I/O 优化)。使用 `docker compose --profile sync up -d` 或设置 `COMPOSE_PROFILES=sync`。 - 根 `.dockerignore`:合并各模式排除规则,排除 `source/stack/` 避免镜像臃肿。 - `source/stack/stack.json` 简化为纯文档元数据(schema v2),加 category 分类。 @@ -32,8 +31,7 @@ **原 docker-dev-sync 用户**: - 旧方式:`php think admin:stack:mode use docker-dev-sync` -- 新方式:`cd source/stack/docker-dev && docker compose --profile sync up -d ulthon_admin_sync mysql redis phpmyadmin` -- Windows 自动激活:在 PowerShell profile 加 `$env:COMPOSE_PROFILES = if ($env:OS -eq 'Windows_NT') { 'sync' } else { '' }` +- 新方式:`cd source/stack/docker-dev-sync && docker compose up -d`(保持独立目录模式,用法跟其他模式一致) **原依赖 state file 的脚本**: - state file(runtime/agents/stack-current.json)已删除。判断模式改读根目录状态。 diff --git a/source/stack/README.md b/source/stack/README.md index 5ba19e6..c55afe9 100644 --- a/source/stack/README.md +++ b/source/stack/README.md @@ -27,11 +27,12 @@ |------|----------|------| | `default` | 仓库根目录 `php think run` | 默认基线,无 Docker 文件,宿主机直接跑 | | `docker-serve` | `cd source/stack/docker-serve && docker compose up -d` | Docker 部署模式(基于基础镜像,nginx + php-fpm) | -| `docker-dev` | `cd source/stack/docker-dev && docker compose up -d` | Docker 开发模式(nginx + php-fpm + MySQL + Redis + phpMyAdmin + Xdebug),含 Windows I/O 优化 profile | +| `docker-dev` | `cd source/stack/docker-dev && docker compose up -d` | Docker 开发模式(nginx + php-fpm + MySQL + Redis + phpMyAdmin + Xdebug) | +| `docker-dev-sync` | `cd source/stack/docker-dev-sync && docker compose up -d` | Docker 开发模式 - Windows I/O 优化(rsync 同步,避免 bind mount 慢速问题) | | `full` | `cd source/stack/full && docker compose up -d` | 完整服务栈(规划中),从 PHP 镜像从头构建 | | `author` | `cd source/stack/author` | 框架作者维护工具(基础镜像构建、发布脚本等) | -> 历史 `base-build` 模式已并入 `author`;`docker-dev-sync`(Windows I/O 优化)已融入 `docker-dev` 的 compose profile,不再单列目录。 +> 历史 `base-build` 模式已并入 `author`。 ## 基础镜像说明 diff --git a/source/stack/stack.json b/source/stack/stack.json index 7ff5053..7a63073 100644 --- a/source/stack/stack.json +++ b/source/stack/stack.json @@ -10,7 +10,11 @@ "category": "user" }, "docker-dev": { - "description": "Docker 开发模式(nginx+php-fpm+MySQL+Redis+phpMyAdmin+Xdebug,含 Windows I/O 优化 profile rsync sync)", + "description": "Docker 开发模式(nginx+php-fpm+MySQL+Redis+phpMyAdmin+Xdebug)", + "category": "user" + }, + "docker-dev-sync": { + "description": "Docker 开发模式 - Windows I/O 优化(rsync 同步,避免 bind mount 慢速问题)", "category": "user" }, "full": {