prueba/.drone.yml
2025-04-01 16:47:13 -04:00

42 lines
1.2 KiB
YAML

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]