pipeline { agent { node { label 'jenkins-slave' } } stages { stage('Build Environmen') { steps { //Build environment sh 'docker compose up --build -d' } } stage('Install dependencies') { steps { // Install dependencies sh 'docker exec ogcore-php composer install' sh 'docker exec ogcore-php php bin/console lexik:jwt:generate-keypair --overwrite' sh 'docker exec ogcore-php php bin/console doctrine:migrations:migrate --no-interaction' sh 'docker exec ogcore-php php bin/console doctrine:fixtures:load --no-interaction' } } stage('Tests') { steps { // Run tests sh 'docker compose exec php bin/phpunit --log-junit phpunit.xml' } } } post { always { // Publish JUnit test results xunit ( thresholds: [ skipped(failureThreshold: '0') , failed(failureThreshold: '0') ], tools: [ PHPUnit(pattern: 'phpunit.xml') ] ) // Remove containers sh 'docker compose down' sh 'docker compose rm -f' } } }