@Library('sphinx-lib@main') _

pipeline {
    agent {
        kubernetes {
            yaml libraryResource('pod.yaml')
        }
    }
    stages {
        stage('Build') {
            steps {
                mavenBuild(goals: 'clean package -DskipTests')
            }
        }
        stage('Analyse') {
            steps {
                sonarScan('lab-demo')
            }
        }
        stage('Publish') {
            steps {
                publishArtifact(file: 'app.tar.gz', path: 'demo/1.0.0')
            }
        }
        stage('Deploy') {
            steps {
                deployToK3s(name: 'demo', image: 'nginx:latest', replicas: 2)
            }
        }
    }
}