ogcore/Jenkinsfile

44 lines
1.3 KiB
Groovy

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'
}
}
}