Files
2026-09-30 14:50:34 +00:00

60 lines
1.4 KiB
Plaintext

@Library('sphinx-lib@main') _
pipeline {
agent {
kubernetes {
yaml libraryResource('templates/pod.yaml')
}
}
stages {
stage('Checkout') {
steps {
git(
url: 'https://github.com/spring-projects/spring-petclinic.git',
branch: 'main'
)
}
}
stage('Build') {
steps {
mavenBuild(goals: 'clean package -DskipTests')
}
}
stage('Analyse') {
steps {
sonarScan('lab-demo')
}
}
stage('Package') {
steps {
container('build') {
sh '''
tar -czf app.tar.gz target/*.jar
ls -lh app.tar.gz
'''
}
}
}
stage('Publish') {
steps {
publishArtifact(file: 'app.tar.gz', path: 'demo/1.0.0')
}
}
stage('Deploy') {
steps {
deployToK3s(name: 'demo', image: 'nginx:latest', replicas: 2)
}
}
}
post {
success {
echo "Pipeline terminé avec succès ✅"
}
failure {
echo "Pipeline en échec ❌"
}
cleanup {
cleanWs()
}
}
}