Intégration continue
L'intégration continue consiste en génie logiciel à exécuter des opérations (tests, vérifications, normalisation, documentation) à chaque publication (commit) du code source pour vérifier la qualité du résultat des modifications ( recherche par exemple d'une éventuelle régression dans l'application développée).
Outils d'intégration continue
| Service | Domaine | Descriptif |
|---|---|---|
| Travis-ci | Tests | Lancement des tests unitaires et fonctionnels multi-plateformes |
| codecov | Couverture des tests | Examen de la couverture du code par les tests |
| scrutinizer-ci | code quality | Examen approfondi de la qualité du code, recherche de bugs, normalisation |
| codedocs | Documentation | Génération/publication de la documentation en continu |
build:
nodes:
analysis:
dependencies:
before:
- composer require codeception/codeception phpmv/ubiquity-devtools:dev-master --dev
environment:
php:
version: 7.2
tests:
override:
- php-scrutinizer-run
coverage:
environment:
php:
version: 7.2
hosts:
dev.local: '127.0.0.1'
apache2:
modules: ['rewrite']
sites:
mySite:
host: 'dev.local'
web_root: '.'
selenium: true
services:
# For available tags, see https://hub.docker.com/_/mysql/
mysql: 5.7
tests:
before:
- mysql -u root mysql < db/database.sql
- composer update
- ./vendor/bin/Ubiquity init-cache
- sudo chmod 0777 -R app/cache/*
- sudo service apache2 restart && sudo service apache2 reload
override:
- command: (./vendor/bin/codecept build && ./vendor/bin/codecept run --coverage-xml -v)
coverage:
file: tests/_output/coverage.xml
format: clover
filter:
paths: ["app/*"]
excluded_paths:
- app/cache/
- app/config/
- app/logs/
checks:
php:
code_rating: true
duplication: true