feat(stack): 新增 docker-dev-sync 模式,优化 Windows 下 Docker 开发 I/O 性能

- 新增 source/stack/docker-dev-sync/ 模式目录
- 宿主代码映射到 /var/www/source(bind mount 中转)
- 容器内 rsync 定时同步到 /var/www/html(原生文件系统)
- vendor 由 Docker build 管理,不参与同步
- rsync 使用 --no-perms 避免保留 Windows 源文件权限
- 排除 docker-dev/、runtime/、.git/ 等无关目录
- SYNC_INTERVAL 环境变量可配置轮询间隔(默认 3 秒)
- 更新 stack.json 注册模式并声明 sync.sh 为托管文件
- 调整 CI 构建流程:先安装依赖再切换 stack 模式
This commit is contained in:
augushong
2026-06-01 22:32:29 +08:00
parent 4e3de27c51
commit ddaa0ca5a9
11 changed files with 443 additions and 8 deletions

View File

@@ -22,10 +22,6 @@ jobs:
with:
fetch-depth: 1
- name: 切换到 docker-serve 模式
shell: bash
run: php think admin:stack:mode use docker-serve -f
- name: 生成 .env
shell: bash
env:
@@ -55,6 +51,17 @@ jobs:
mv .env.tmp .env
- name: 安装依赖
shell: bash
run: |
set -euo pipefail
composer config -g repos.packagist composer https://nexus.hl7.top:1243/repository/composer-proxy/
composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader
- name: 切换到 docker-serve 模式
shell: bash
run: php think admin:stack:mode use docker-serve -f
- name: 打包发布文件
shell: bash
env:
@@ -62,9 +69,6 @@ jobs:
run: |
set -euo pipefail
composer config -g repos.packagist composer https://nexus.hl7.top:1243/repository/composer-proxy/
composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader
TMP_PACKAGE="/tmp/${PACKAGE_NAME}"
rm -f "$TMP_PACKAGE" "$PACKAGE_NAME"