docker - 在 Gitlab CI 上更改 Xdebug 模式 PHP Docker
问题描述
我想使用 GitLab CI 运行 PHPUnit 代码覆盖率,但是当我运行命令时vendor/bin/phpunit --coverage-text --colors=never
只显示代码测试结果而不生成代码覆盖率。
当我在本地使用带有 Xdebug 的 XAMPP 对其进行测试时,启用使用生成的代码覆盖率xdebug.mode=coverage
。如何更改xdebug.mode
docker setup 脚本上的 on php.ini?
我也通过 PHPUnit XML 配置覆盖它,这样也行不通。
<ini name="xdebug.mode" value="coverage" />
这是我的.gitlab-ci.yml
image: php:7.4.14
cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths:
- vendor
before_script:
# Install git
- apt-get update -yqq
- apt-get install git -yqq
# Install packages
- apt-get install libcurl4-openssl-dev
# Install required php extension
- docker-php-ext-install curl
# Install Xdebug
- pecl install xdebug
- docker-php-ext-enable xdebug
# Install composer
- curl -sS https://getcomposer.org/installer | php
# Install dependencies
- php composer.phar update --prefer-stable --prefer-dist --no-interaction --no-progress
run-test:
script:
- vendor/bin/phpunit --coverage-text --colors=never
解决方案
在搜索了一些文章后,我终于可以这样做了。这是我的例子.gitlab-ci.yml
图片:php:7.4.14
cache:
key: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
paths:
- vendor
before_script:
# Install git
- apt-get update -yqq
- apt-get install git -yqq
# Install packages
- apt-get install libcurl4-openssl-dev
# Install required php extension
- docker-php-ext-install curl
# Install Xdebug
- pecl install xdebug
- docker-php-ext-enable xdebug
# Install composer
- curl -sS https://getcomposer.org/installer | php
# Install dependencies
- php composer.phar update --prefer-stable --prefer-dist --no-interaction --no-progress
# Here to change xdebug mode
- echo xdebug.mode=coverage > /usr/local/etc/php/conf.d/xdebug.ini
run-test:
script:
- vendor/bin/phpunit --coverage-text --colors=never
推荐阅读
- python - 使用 OpenCV Python 和 Tesseract 从图像中读取车牌
- javascript - 开玩笑 - 将测试分开到另一个文件中
- python - 在setup.py中为不同版本的python指定不同版本的lz4包
- service-worker - manifest.json 无法加载图标文件
- javascript - 在 vanilla JS ajax 中将回调函数作为参数传递
- django - 在 HTML 中将 Django 模型数据显示到表中
- c# - 如何读取序列化 XML 文件中的节点?
- python - 如何等待协程直到满足条件?
- scala - 使用 sbt-aspect 创建 aspectJ 库
- javascript - 如何设置动画状态完成