Files
wc-timer/Jenkinsfile
David Ali d874213bdf fix typo
2026-01-05 20:56:51 +01:00

59 lines
1.6 KiB
Groovy

pipeline {
agent any
environment {
GIT_AUTHOR_NAME = 'Jenkins Bot'
GIT_AUTHOR_EMAIL = 'jenkins@alidavid.hu'
}
stages {
stage('Build & Test (E2E)') {
when {
branch 'develop'
}
steps {
script {
echo '--- 1. Start środowiska testowego (pomijane na main) ---'
sh 'docker compose -f docker-compose.test.yml down -v || true'
sh 'docker compose -f docker-compose.test.yml up --build --abort-on-container-exit --exit-code-from cypress'
}
}
}
stage('Merge Develop -> Main') {
when {
branch 'develop'
}
steps {
sshagent(credentials: ['gitea-ssh-key']) {
script {
echo '--- 2. Testy zaliczone. Scalanie do produkcji ---'
sh "git config user.name '${GIT_AUTHOR_NAME}'"
sh "git config user.email '${GIT_AUTHOR_EMAIL}'"
sh 'git fetch origin main'
sh 'git fetch origin develop'
sh 'git checkout main'
sh 'git pull origin main'
sh 'git merge origin/develop --no-ff -m "Merge branch develop into main (Jenkins CI)"'
sh 'GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no" git push origin main'
}
}
}
}
// Tutaj w przyszłości będzie ETAP 3: Publish to NPM
// On będzie miał warunek: when { branch 'main' }
}
post {
always {
// Sprzątanie wykonujemy tylko, jeśli testy w ogóle ruszyły
// Ale komenda down jest bezpieczna nawet jak nic nie działało
sh 'docker-compose -f docker-compose.test.yml down -v'
}
}
}