
thijsvandenanker/gitlab-ci-pipeline-php包含构建和测试PHP应用所需一切的Docker镜像
!Logo
!GitHub最后提交  -
7.4-alpine, alpine (7.4/alpine/Dockerfile) -
7.4-fpm, fpm (7.4/fpm/Dockerfile) -
7.3 (7.3/Dockerfile) -
7.3-alpine (7.3/alpine/Dockerfile) -
7.3-alpine-lts, alpine-lts (7.3/alpine/Dockerfile-lts) -
7.3-fpm (7.3/fpm/Dockerfile) -
7.2 (7.2/Dockerfile) -
7.2-alpine (7.2/alpine/Dockerfile) -
7.2-alpine-lts (7.2/alpine/Dockerfile-lts) -
7.2-fpm (7.2/fpm/Dockerfile) -
所有版本均包含 Node 14、Composer 和 Yarn
PHP 7.0.x 和 7.1.x 现已弃用并从本仓库移除,因为它们已达到生命周期结束。由于镜像仍然可用,您的脚本不会停止工作,但从现在起将不再接收新构建。有关更多信息,请访问 [***]
所有镜像均包含 PHP(带有所有 Laravel 所需扩展)、Composer(带有 hirak/prestissimo 以加速安装)、Node 和 Yarn。
满足您测试 Laravel 项目所需的一切 :D
要运行 Dusk 测试,我们需要在镜像上安装 chromium,因此我们为此提供了特殊标签。
7.4-chromium (7.4/chromium/Dockerfile) 7.3-chromium (7.3/chromium/Dockerfile) 7.2-chromium (7.2/chromium/Dockerfile) 有关更多详细信息,请查看 Dusk 示例。
.gitlab-ci.ymlyaml# 变量 variables: MYSQL_ROOT_PASSWORD: root MYSQL_USER: homestead MYSQL_PASSWORD: secret MYSQL_DATABASE: homestead DB_HOST: mysql test: stage: test services: - mysql:5.7 image: edbizarro/gitlab-ci-pipeline-php:7.4-alpine script: - yarn install --pure-lockfile - composer install --prefer-dist --no-ansi --no-interaction --no-progress - cp .env.example .env - php artisan key:generate - php artisan migrate:refresh --seed - ./vendor/phpunit/phpunit/phpunit -v --coverage-text --colors=never --stderr
.gitlab-ci.ymlyamlstages: - test - deploy # 变量 variables: MYSQL_ROOT_PASSWORD: root MYSQL_USER: homestead MYSQL_PASSWORD: secret MYSQL_DATABASE: homestead DB_HOST: mysql # 加速构建 cache: key: $CI_BUILD_REF_NAME # 在 Gitlab 9.x 中改为 $CI_COMMIT_REF_NAME paths: - vendor - node_modules - public - .yarn test: stage: test services: - mysql:5.7 image: edbizarro/gitlab-ci-pipeline-php:7.4-alpine script: - yarn config set cache-folder .yarn - yarn install --pure-lockfile - composer install --prefer-dist --no-ansi --no-interaction --no-progress - cp .env.example .env - php artisan key:generate - php artisan migrate:refresh --seed - ./vendor/phpunit/phpunit/phpunit -v --coverage-text --colors=never --stderr artifacts: paths: - ./storage/logs # 用于调试 expire_in: 7 days when: always deploy: stage: deploy image: edbizarro/gitlab-ci-pipeline-php:7.4-alpine script: - echo "部署所有内容!" only: - master when: on_success
.gitlab-ci.ymlyamlstages: - test # 变量 variables: MYSQL_ROOT_PASSWORD: root MYSQL_USER: homestead MYSQL_PASSWORD: secret MYSQL_DATABASE: homestead DB_HOST: mysql # 加速构建 cache: key: $CI_BUILD_REF_NAME # 在 Gitlab 9.x 中改为 $CI_COMMIT_REF_NAME paths: - vendor - node_modules - public - .yarn test: stage: test services: - mysql:5.7 image: edbizarro/gitlab-ci-pipeline-php:7.4-chromium script: - yarn config set cache-folder .yarn - yarn install --pure-lockfile - composer install --prefer-dist --no-ansi --no-interaction --no-progress - cp .env.example .env - php artisan key:generate - php artisan migrate:refresh --seed - php artisan serve & - ./vendor/laravel/dusk/bin/chromedriver-linux --port=9515 & - sleep 5 - php artisan dusk artifacts: paths: - ./storage/logs # 用于调试 - ./tests/Browser/screenshots # 用于 Dusk 截图 - ./tests/Browser/console expire_in: 7 days when: always
推荐工具
特别感谢 Ambientum,一个很棒的巴西项目,提供了灵感。
同时感谢 [***] 提供的 PHP 7.2 构建脚本

invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务