pipeline { agent any tools { maven 'mvn' nodejs 'npm' } environment { JAVA_HOME = '/opt/java/openjdk' PATH = "${JAVA_HOME}/bin:${env.PATH}" SPRING_IMAGE_NAME = 'spring-jenkins' ANGULAR_IMAGE_NAME = 'angular-jenkins' IMAGE_TAG = 'latest' } stages { stage('Checkout sur la branche dev') { steps { git branch: 'dev', url: 'https://gitea.unifihomenetwork.com/vincentguillet/gameovergne-app.git' } } stage('Maven Build') { steps { dir('api') { sh 'mvn clean package -DskipTests' } } } stage('Angular Build') { steps { dir('client') { sh 'npm install' sh 'npm run build' } } } stage('Spring Docker Build') { steps { sh 'docker build -t registry.unifihomenetwork.com/gameovergne-api:dev-latest ./api' } } stage('Angular Docker Build') { steps { sh 'docker build -t registry.unifihomenetwork.com/gameovergne-client:dev-latest ./client' } } stage('Spring Deployment') { steps { sh ''' docker-compose rm -f spring || true docker-compose up -d spring ''' } } stage('Angular Deployment') { steps { sh ''' docker-compose rm -f gameovergne-client || true docker-compose up -d angular ''' } } } }