kind: pipeline type: docker name: spring-boot-java21 workspace: base: /drone/src steps: # Paso 1: Build y tests con Maven (Java 21) - name: build-and-test image: maven:3.9-eclipse-temurin-21-alpine environment: MAVEN_OPTS: -Xmx2048m -XX:+TieredCompilation -XX:TieredStopAtLevel=1 commands: - mvn clean verify - mvn jacoco:report # Generar reporte de cobertura volumes: - name: maven-cache path: /root/.m2 # Paso 2: AnĂ¡lisis SonarQube - name: sonarqube-analysis image: sonarsource/sonar-scanner-cli:latest environment: SONAR_HOST_URL: ${SONARQUBE_URL} SONAR_LOGIN: ${SONARQUBE_TOKEN} SONAR_PROJECT_KEY: ${SONARQUBE_PROJECT_KEY} commands: - sonar-scanner -Dsonar.projectKey=${SONAR_PROJECT_KEY} -Dsonar.projectName=${DRONE_REPO_NAME} -Dsonar.java.source=21 -Dsonar.java.binaries=target/classes -Dsonar.sources=src/main/java -Dsonar.tests=src/test/java -Dsonar.coverage.jacoco.xmlReportPaths=target/site/jacoco/jacoco.xml -Dsonar.qualitygate.wait=true -Dsonar.scm.provider=git when: event: [push, pull_request]