Files
alrahma_sunday_school_api/Jenkinsfile
T
2026-03-09 17:25:12 -04:00

49 lines
1.4 KiB
Groovy

pipeline {
agent any
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Build CI Image') {
steps {
sh 'docker compose -f docker-compose.ci.yml build --pull'
}
}
stage('Install Dependencies') {
steps {
sh 'docker compose -f docker-compose.ci.yml run --rm app composer install --no-interaction --prefer-dist --no-progress'
}
}
stage('Prepare Test DB') {
steps {
sh 'docker compose -f docker-compose.ci.yml run --rm app sh -lc "mkdir -p database && touch database/database.sqlite && php artisan migrate --force"'
}
}
stage('Run Tests') {
steps {
script {
env.APP_KEY = sh(
returnStdout: true,
script: "docker compose -f docker-compose.ci.yml run --rm keygen"
).trim()
}
sh 'APP_KEY=$APP_KEY docker compose -f docker-compose.ci.yml run --rm app php artisan test'
}
}
}
post {
always {
sh 'docker compose -f docker-compose.ci.yml rm -f -s -v || true'
sh 'docker compose -f docker-compose.ci.yml down -v --remove-orphans'
}
}
}