本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

laravel-dusk-ci Docker 镜像下载 - 轩辕镜像

laravel-dusk-ci 镜像详细信息和使用指南

laravel-dusk-ci 镜像标签列表和版本信息

laravel-dusk-ci 镜像拉取命令和加速下载

laravel-dusk-ci 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

laravel-dusk-ci
chilio/laravel-dusk-ci

laravel-dusk-ci 镜像详细信息

laravel-dusk-ci 镜像标签列表

laravel-dusk-ci 镜像使用说明

laravel-dusk-ci 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

基于Ubuntu的Nginx PHP-FPM测试环境,用于Laravel Dusk浏览器测试,支持单元、功能和浏览器测试,自动处理Chrome/chromedriver兼容性,适用于GitLab CI/CD流水线,持续维护。
29 收藏0 次下载activechilio镜像

laravel-dusk-ci 镜像详细说明

laravel-dusk-ci 使用指南

laravel-dusk-ci 配置说明

laravel-dusk-ci 官方文档

Laravel Dusk GitLab CI/CD 浏览器测试环境

![Docker pulls]([] ![GitHub issues]([] ![GitHub stars]([] ![GitHub license]([]

镜像概述

这是一个完整的测试套件,用于在Laravel项目中运行测试(单元测试功能测试浏览器测试)。它通过GitLab的Docker执行器,使用Laravel Dusk进行浏览器测试。该镜像自动处理Chromechromedriver的兼容性问题,使Laravel Dusk浏览器测试尽可能简单。

版本信息

支持的版本

![]([] ![]([] ![]([] ![]([] ![]([***]

已弃用的版本

![]([] ![]([] ![]([] ![]([] ![]([] ![]([]

说明:保留弃用版本是为了支持旧版Laravel应用在迁移到新版本期间的浏览器测试。所有发布的镜像均功能完整,可用于测试目的。

兼容性

Laravel 版本兼容PHP 版本支持
10.x![]([] ![]([] ![]([] ![]([]
9.x![]([] ![]([] ![]([***]
8.x![]([] ![]([] ![]([***]
7.x![]([] ![]([] ![]([] ![]([]
6.x![]([] ![]([] ![]([] ![]([]
5.8![]([] ![]([]
5.7![]([] ![]([]
5.6![]([] ![]([]
5.5![]([] ![]([]
5.4报告可用![]([***]
5.3及以下未测试

核心功能与特性

包含的组件(版本取决于镜像标签)

包含的库/工具
PHP
Xdebug
NGINX
Chromedriver
Chrome
Node.js
NPM
Yarn
Bower
PHPUnit
node-sass
Gulp

查看版本:在.gitlab-ci.ymlscript中运行versions命令,可查看已安装包的具体版本。

可用的附加命令

  • configure-laravel:设置文件权限、生成Laravel密钥、迁移并填充数据库、检查并确保chromedriver兼容性。
  • start-nginx-ci-project:配置并启动Nginx和PHP-FPM。
  • versions:显示包含的包版本和启用的PHP模块。

使用场景

适用于GitLab CI/CD流水线中的Laravel项目测试,特别是需要运行浏览器测试的场景。支持自动化单元测试、功能测试和端到端浏览器测试,确保代码质量和功能稳定性。

使用方法与配置说明

前置要求

必须修改项目中的tests/DuskTestCase.php,添加--no-sandbox参数到驱动选项中,否则镜像无法正常工作。参考示例DuskTestCase.php。

GitLab CI/CD配置示例

在项目的.gitlab-ci.yml中使用以下配置:

yaml
image: 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设置

  • 添加MySQL服务到services
    yaml
    services:
      - 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',
        ],
    ],
    

高级配置

自定义测试环境

  • 复制CI专用配置文件:
    yaml
    script:
      - cp phpunit.xml.ci phpunit.xml  # 使用CI专用PHPUnit配置
      - cp phpunit.dusk.xml.ci phpunit.dusk.xml  # 使用CI专用Dusk配置
    

前端资源构建

如需构建前端资源,添加以下命令:

yaml
script:
  - npm install
  - npm run dev  # 或 yarn run dev

运行PHPUnit测试

yaml
script:
  - ./vendor/phpunit/phpunit/phpunit -v --coverage-text --colors --stderr

Chromedriver兼容性处理

若遇到chromedriver版本问题,可选择以下方案:

  1. 使用系统内置chromedriver
    • DuskTestCase.php中注释掉static::startChromeDriver();
    • .gitlab-ci.yml中添加:
      yaml
      script:
        - chromedriver &  # 启动系统内置chromedriver
        - php artisan dusk
      

示例文件

  • DuskTestCase.php:包含运行php artisan dusk所需的所有修改
  • phpunit.dusk.xml:Dusk测试专用PHPUnit配置
  • phpunit.xml.ci:CI环境PHPUnit配置
  • .gitlab-ci.yml:包含阶段、缓存和制品配置的完整CI示例

故障排除

  • 测试失败:尝试按以下顺序使用不同镜像标签:chilio/laravel-dusk-ci:latestchilio/laravel-dusk-ci:stablechilio/laravel-dusk-ci:dev
  • 页面加载问题:在Dusk测试中使用->waitFor()确保页面渲染完成,CI环境通常比本地环境慢
  • 屏幕分辨率:通过环境变量SCREEN_RESOLUTION调整(默认1920x720x24),例如:
    yaml
    variables:
      SCREEN_RESOLUTION: 1280x720x24
    
  • MySQL连接错误:检查DB_HOST是否设置为mysql,或尝试更换MySQL版本(如mysql:5.7
  • chromedriver版本错误:参考“Chromedriver兼容性处理”部分,使用系统内置chromedriver

免责声明

本镜像仅用于CI环境中的测试目的,不建议用于生产环境。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"