Jan 18, 2024
0
Level 1
Test converage laravel with sonarqube
I want to run ci/cd on gitlab, to run laravel converage tests and push converage.xml to sonarqube but mine doesn't work?
stages:
# - sonarqube-check
# - test
# - deploy
- test-converage
- push-converage
cache:
paths:
- laravel/vendor/
- laravel/node_modules/
test_converage:
stage: test-converage
image: php:8.3.1-cli
services:
- mysql:5.7
variables:
MYSQL_DATABASE: laravel_test
MYSQL_USER: user
MYSQL_PASSWORD: secure_password
MYSQL_ROOT_PASSWORD: root_password
DB_HOST: mysql
DB_CONNECTION: mysql
DB_DATABASE: laravel_test
DB_USERNAME: user
DB_PASSWORD: secure_password
before_script:
- apt-get update
- apt install nodejs -yqq
- apt install npm -yqq
- apt-get install -yqq unzip zip zlib1g-dev libpng-dev libjpeg-dev libfreetype6 libfreetype6-dev libzip-dev
- if ! php -m | grep -q 'xdebug'; then pecl install xdebug && docker-php-ext-enable xdebug; fi
- echo "xdebug.mode=coverage" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
- echo "zend_extension=xdebug.so" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
- docker-php-ext-install gd exif zip pdo_mysql
- curl -sS https://getcomposer.org/installer | php
- mv composer.phar /usr/local/bin/composer
- composer -v
- php -v
- php -m
- cd laravel
- composer update
- npm install
- cp .env.example .env
- php artisan key:generate
- php artisan config:clear
- php artisan migrate --env=testing --seed
script:
- npm run build
- vendor/bin/phpunit --coverage-clover coverage.xml
tags:
- sonarqube-4
only:
- develop
sonarqube-check:
stage: push-converage
image:
name: sonarsource/sonar-scanner-cli:latest
entrypoint: [""]
variables:
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar"
GIT_DEPTH: "0"
cache:
key: "${CI_JOB_NAME}"
paths:
- .sonar/cache
tags:
- sonarqube-4
script:
- sonar-scanner -X -Dsonar.php.coverage.reportPaths=$(pwd)/laravel/coverage.xml
allow_failure: true
only:
- develop
Please or to participate in this conversation.