用途:为 Laravel 项目提供一套按阶段顺序执行的验证流程,用于提交 PR 前、重大重构或依赖升级后,以及预发布/生产部署前的检查。
主要能力与阶段:
- 环境检查:php -v、composer --version、php artisan --version,确认 .env 存在且必需键齐全,生产环境 APP_DEBUG=false、APP_ENV 与目标环境一致;使用 Sail 时可用 ./vendor/bin/sail php -v 与 ./vendor/bin/sail artisan --version。
- Composer 与自动加载:composer validate、composer dump-autoload -o。
- 代码风格与静态分析:vendor/bin/pint --test、vendor/bin/phpstan analyse;若用 Psalm 则 vendor/bin/psalm。
- 测试与覆盖率:php artisan test;覆盖率用 XDEBUG_MODE=coverage php artisan test --coverage。
- 安全与依赖:composer audit。
- 数据库与迁移:php artisan migrate --pretend、php artisan migrate:status,检查破坏性迁移、文件名格式 Y_m_d_His_*、可回滚性与 down() 方法。
- 构建与部署就绪:php artisan optimize:clear、config:cache、route:cache、view:cache,确认队列与调度配置、storage/ 与 bootstrap/cache/ 可写。
- 队列与调度:php artisan schedule:list、queue:failed;Horizon 用 horizon:status;可用 queue:monitor default --max=100 查看积压。
使用方式:按阶段顺序执行,环境与 Composer 检查失败应立即停止;风格与静态分析通过后再跑完整测试与覆盖率;安全与迁移审查在测试之后;构建部署与队列调度为最终关卡,任一失败即阻止发布。
适用场景:Laravel 项目的 PR 前验证、重构后回归、预发布与生产部署前检查,以及 CI 流水线(格式→静态分析→测试)。
限制:主动队列验证(派发 no-op 任务并运行单次 worker)仅限非生产环境;破坏性迁移需谨慎并确保有备份;具体项目配置、依赖版本与 CI 环境差异需自行确认。