
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://img.shields.io/docker/pulls/chilio/laravel-dusk-ci.svg](https://hub.docker.com/r/chilio/laravel-dusk-ci) https://img.shields.io/github/issues/chilio/laravel-dusk-ci.svg](https://github.com/chilio/laravel-dusk-ci/issues) https://img.shields.io/github/stars/chilio/laravel-dusk-ci.svg?style=social&label=Stars](https://github.com/chilio/laravel-dusk-ci) https://img.shields.io/badge/license-MIT-blue.svg](https://github.com/chilio/laravel-dusk-ci/blob/master/LICENSE)
这是一个完整的测试套件,用于在Laravel项目中运行测试(单元测试、功能测试、浏览器测试)。它通过GitLab的Docker执行器,使用Laravel Dusk进行浏览器测试。该镜像自动处理Chrome和chromedriver的兼容性问题,使Laravel Dusk浏览器测试尽可能简单。
https://img.shields.io/static/v1?label=&message=php-8.3&color=green](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-8.2&color=green](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-8.1&color=yellow](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=latest&message=php-8.3&color=green](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=stable&message=php-8.2&color=green](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/)
https://img.shields.io/static/v1?label=&message=php-8.0&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-7.4&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-7.3&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-7.2&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-7.1&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=old-stable&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/)
说明:保留弃用版本是为了支持旧版Laravel应用在迁移到新版本期间的浏览器测试。所有发布的镜像均功能完整,可用于测试目的。
| Laravel 版本 | 兼容 | PHP 版本支持 |
|---|---|---|
| 10.x | 是 | https://img.shields.io/static/v1?label=&message=php-8.3&color=green](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-8.2&color=green](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-8.1&color=yellow](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-8.0&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) |
| 9.x | 是 | https://img.shields.io/static/v1?label=&message=php-8.2&color=green](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-8.1&color=yellow](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-8.0&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) |
| 8.x | 是 | https://img.shields.io/static/v1?label=&message=php-8.1&color=yellow](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-8.0&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-7.4&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) |
| 7.x | 是 | https://img.shields.io/static/v1?label=&message=php-8.0&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-7.4&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-7.3&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-7.2&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) |
| 6.x | 是 | https://img.shields.io/static/v1?label=&message=php-8.0&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-7.4&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-7.3&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=php-7.2&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) |
| 5.8 | 是 | https://img.shields.io/static/v1?label=&message=php-7.1&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=old-stable&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) |
| 5.7 | 是 | https://img.shields.io/static/v1?label=&message=php-7.1&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=old-stable&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) |
| 5.6 | 是 | https://img.shields.io/static/v1?label=&message=php-7.1&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=old-stable&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) |
| 5.5 | 是 | https://img.shields.io/static/v1?label=&message=php-7.1&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) https://img.shields.io/static/v1?label=&message=old-stable&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) |
| 5.4 | 报告可用 | https://img.shields.io/static/v1?label=&message=old-stable&color=red](https://hub.docker.com/r/chilio/laravel-dusk-ci/tags/) |
| 5.3及以下 | 未测试 |
| 包含的库/工具 |
|---|
| PHP |
| Xdebug |
| NGINX |
| Chromedriver |
| Chrome |
| Node.js |
| NPM |
| Yarn |
| Bower |
| PHPUnit |
| node-sass |
| Gulp |
查看版本:在
.gitlab-ci.yml的script中运行versions命令,可查看已安装包的具体版本。
configure-laravel:设置文件权限、生成Laravel密钥、迁移并填充数据库、检查并确保chromedriver兼容性。start-nginx-ci-project:配置并启动Nginx和PHP-FPM。versions:显示包含的包版本和启用的PHP模块。适用于GitLab CI/CD流水线中的Laravel项目测试,特别是需要运行浏览器测试的场景。支持自动化单元测试、功能测试和端到端浏览器测试,确保代码质量和功能稳定性。
必须修改项目中的tests/DuskTestCase.php,添加--no-sandbox参数到驱动选项中,否则镜像无法正常工作。参考https://github.com/chilio/laravel-dusk-ci/blob/master/examples/DuskTestCase.php%E3%80%82
在项目的.gitlab-ci.yml中使用以下配置:
yamlimage: docker.xuanyuan.run/chilio/laravel-dusk-ci:latest services: - mysql:5.7 # 或其他兼容版本,mysql:latest需特殊配置(见下方数据库说明) variables: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: test_db MYSQL_USER: test_user MYSQL_PASSWORD: test_password DB_HOST: mysql APP_URL: http://localhost test: script: - cp .env.example .env - configure-laravel - start-nginx-ci-project - php artisan dusk
MySQL设置
services:
yamlservices: - name: mysql:latest command: ["--default-authentication-plugin=mysql_native_password"] # mysql:latest需添加此命令
config/database.php中添加MySQL模式配置:
php'mysql' => [ // ...其他配置 'modes' => [ 'ONLY_FULL_GROUP_BY', 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_ENGINE_SUBSTITUTION', ], ],
自定义测试环境
yamlscript: - cp phpunit.xml.ci phpunit.xml # 使用CI专用PHPUnit配置 - cp phpunit.dusk.xml.ci phpunit.dusk.xml # 使用CI专用Dusk配置
前端资源构建
如需构建前端资源,添加以下命令:
yamlscript: - npm install - npm run dev # 或 yarn run dev
运行PHPUnit测试
yamlscript: - ./vendor/phpunit/phpunit/phpunit -v --coverage-text --colors --stderr
若遇到chromedriver版本问题,可选择以下方案:
DuskTestCase.php中注释掉static::startChromeDriver();.gitlab-ci.yml中添加:
yamlscript: - chromedriver & # 启动系统内置chromedriver - php artisan dusk
chilio/laravel-dusk-ci:latest → chilio/laravel-dusk-ci:stable → chilio/laravel-dusk-ci:dev->waitFor()确保页面渲染完成,CI环境通常比本地环境慢SCREEN_RESOLUTION调整(默认1920x720x24),例如:
yamlvariables: SCREEN_RESOLUTION: 1280x720x24
DB_HOST是否设置为mysql,或尝试更换MySQL版本(如mysql:5.7)本镜像仅用于CI环境中的测试目的,不建议用于生产环境。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务