miercoles ocho
This commit is contained in:
parent
3db9d6af03
commit
557f987138
104
.drone.yml
104
.drone.yml
@ -12,79 +12,63 @@ steps:
|
||||
environment:
|
||||
MAVEN_OPTS: -Xmx2048m -XX:+TieredCompilation -XX:TieredStopAtLevel=1
|
||||
commands:
|
||||
- mvn verify -Poffline --settings nexus-settings.xml
|
||||
#- mvn jacoco:report # Generar reporte de cobertura
|
||||
- mvn clean verify
|
||||
- mvn jacoco:report
|
||||
volumes:
|
||||
- name: maven-cache
|
||||
path: /root/.m2
|
||||
|
||||
# # Paso 2: Análisis SonarQube con Maven
|
||||
# Paso 2: Análisis SonarQube con Maven
|
||||
- name: sonarqube-analysis
|
||||
image: maven:3.9-eclipse-temurin-21-alpine
|
||||
environment:
|
||||
#SONAR_HOST_URL: ${SONARQUBE_URL} # URL de tu servidor SonarQube
|
||||
#SONAR_LOGIN: ${SONARQUBE_TOKEN} # Token de autenticación en SonarQube
|
||||
#SONAR_PROJECT_KEY: ${SONARQUBE_PROJECT_KEY} # Clave del proyecto en SonarQube
|
||||
SONAR_HOST_URL: http://10.0.0.126:9000 # URL de tu servidor SonarQube
|
||||
SONAR_LOGIN: squ_465ae384ffda803d8e58d9ef0111bef1277c874a # Token de autenticación en SonarQube
|
||||
SONAR_PROJECT_KEY: hhh # Clave del proyecto en SonarQube
|
||||
SONAR_HOST_URL: http://10.0.0.126:9000
|
||||
SONAR_LOGIN: squ_465ae384ffda803d8e58d9ef0111bef1277c874a
|
||||
SONAR_PROJECT_KEY: hhh
|
||||
commands:
|
||||
#- mvn sonar:sonar # Ejecuta el análisis de SonarQube usando Maven
|
||||
- mvn clean verify sonar:sonar -DskipTests --settings nexus-settings.xml
|
||||
- mvn clean verify sonar:sonar -DskipTests
|
||||
volumes:
|
||||
- name: maven-cache
|
||||
path: /root/.m2
|
||||
when:
|
||||
event: [push, pull_request]
|
||||
|
||||
# Paso 3: Build y Push de Docker Image a Nexus (NUEVO)
|
||||
|
||||
# Paso 3: Build y Push de Docker Image a Nexus usando plugin oficial
|
||||
- name: docker-build-push
|
||||
image: docker:20.10.24
|
||||
environment:
|
||||
NEXUS_USER: yandel # Usuario de Nexus con permisos push
|
||||
NEXUS_PASSWORD: yandel # Contraseña del usuario
|
||||
REGISTRY_ADDRESS: 10.0.0.126:8081
|
||||
REPOSITORY_NAME: docker-repository # Nombre del repositorio Docker en Nexus
|
||||
commands:
|
||||
# Login a Nexus Docker Registry
|
||||
- docker login -u $NEXUS_USER -p $NEXUS_PASSWORD $REGISTRY_ADDRESS
|
||||
|
||||
# Construir imagen con tag dinámico
|
||||
- docker build -t $REGISTRY_ADDRESS/$REPOSITORY_NAME/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA} -f src/main/docker/dockerfile . # -f para especificar ruta
|
||||
|
||||
# Push de la imagen
|
||||
- docker push $REGISTRY_ADDRESS/$REPOSITORY_NAME/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}
|
||||
volumes:
|
||||
- name: docker-sock
|
||||
path: /var/run/docker.sock
|
||||
|
||||
image: plugins/docker
|
||||
settings:
|
||||
repo: 10.0.0.126:8081/docker-repository/${DRONE_REPO_NAME}
|
||||
tags: ${DRONE_BUILD_NUMBER}
|
||||
username: yandel
|
||||
password: yandel
|
||||
dockerfile: src/main/docker/dockerfile
|
||||
|
||||
# Paso 4: Despliegue en Servidor Externo
|
||||
# - name: deploy-to-server
|
||||
# image: appleboy/drone-ssh
|
||||
# environment:
|
||||
# REGISTRY_ADDRESS: 10.0.0.126:8085
|
||||
# REPOSITORY_NAME: docker-repository # Nombre del repositorio Docker en Nexus
|
||||
# settings:
|
||||
# host:
|
||||
# - 10.0.0.117
|
||||
# - 10.0.0.116
|
||||
# username:
|
||||
# from_secret: ssh_usuario_117
|
||||
# password:
|
||||
# from_secret: ssh_password_117
|
||||
# port: 22
|
||||
# command_timeout: 2m
|
||||
# script:
|
||||
# - echo "Iniciando despliegue..."
|
||||
# - docker login -u yandel -p ${REGISTRY_ADDRESS}
|
||||
# - docker stop mi-app || true
|
||||
# - docker rm mi-app || true
|
||||
# - docker pull 10.0.0.126:8085/docker-repository/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}
|
||||
# - docker run -d --name mi-app -p 8082:8080 10.0.0.126:8085/docker-repository/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}
|
||||
# #- docker pull $NEXUS_PASSWORD $REGISTRY_ADDRESS/docker-repository/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}
|
||||
# #- docker run -d --name mi-app -p 8082:8080 $NEXUS_PASSWORD $REGISTRY_ADDRESS/docker-repository/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}
|
||||
# - echo "Fin despliegue..."
|
||||
- name: deploy-to-server
|
||||
image: appleboy/drone-ssh
|
||||
environment:
|
||||
REGISTRY_ADDRESS: 10.0.0.126:8081
|
||||
REPOSITORY_NAME: docker-repository
|
||||
settings:
|
||||
host:
|
||||
- 10.0.0.117
|
||||
- 10.0.0.116
|
||||
username:
|
||||
from_secret: ssh_usuario_117
|
||||
password:
|
||||
from_secret: ssh_password_117
|
||||
port: 22
|
||||
command_timeout: 2m
|
||||
script:
|
||||
- echo "Iniciando despliegue..."
|
||||
- docker login -u yandel -p yandel 10.0.0.126:8081
|
||||
- docker stop mi-app || true
|
||||
- docker rm mi-app || true
|
||||
- docker pull 10.0.0.126:8081/docker-repository/${DRONE_REPO_NAME}:${DRONE_BUILD_NUMBER}
|
||||
- docker run -d --name mi-app -p 8082:8080 10.0.0.126:8081/docker-repository/${DRONE_REPO_NAME}:${DRONE_BUILD_NUMBER}
|
||||
- echo "Fin despliegue..."
|
||||
|
||||
volumes:
|
||||
- name: maven-cache
|
||||
host:
|
||||
path: /tmp/drone-maven-cache
|
||||
- name: docker-sock
|
||||
host:
|
||||
path: /var/run/docker.sock # Montar socket de Docker
|
||||
|
90
.drone.yml.backup
Normal file
90
.drone.yml.backup
Normal file
@ -0,0 +1,90 @@
|
||||
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 verify -Poffline --settings nexus-settings.xml
|
||||
#- mvn jacoco:report # Generar reporte de cobertura
|
||||
volumes:
|
||||
- name: maven-cache
|
||||
path: /root/.m2
|
||||
|
||||
# # Paso 2: Análisis SonarQube con Maven
|
||||
- name: sonarqube-analysis
|
||||
image: maven:3.9-eclipse-temurin-21-alpine
|
||||
environment:
|
||||
#SONAR_HOST_URL: ${SONARQUBE_URL} # URL de tu servidor SonarQube
|
||||
#SONAR_LOGIN: ${SONARQUBE_TOKEN} # Token de autenticación en SonarQube
|
||||
#SONAR_PROJECT_KEY: ${SONARQUBE_PROJECT_KEY} # Clave del proyecto en SonarQube
|
||||
SONAR_HOST_URL: http://10.0.0.126:9000 # URL de tu servidor SonarQube
|
||||
SONAR_LOGIN: squ_465ae384ffda803d8e58d9ef0111bef1277c874a # Token de autenticación en SonarQube
|
||||
SONAR_PROJECT_KEY: hhh # Clave del proyecto en SonarQube
|
||||
commands:
|
||||
#- mvn sonar:sonar # Ejecuta el análisis de SonarQube usando Maven
|
||||
- mvn clean verify sonar:sonar -DskipTests --settings nexus-settings.xml
|
||||
when:
|
||||
event: [push, pull_request]
|
||||
|
||||
# Paso 3: Build y Push de Docker Image a Nexus (NUEVO)
|
||||
- name: docker-build-push
|
||||
image: docker:20.10.24
|
||||
environment:
|
||||
NEXUS_USER: yandel # Usuario de Nexus con permisos push
|
||||
NEXUS_PASSWORD: yandel # Contraseña del usuario
|
||||
REGISTRY_ADDRESS: 10.0.0.126:8081
|
||||
REPOSITORY_NAME: docker-repository # Nombre del repositorio Docker en Nexus
|
||||
commands:
|
||||
# Login a Nexus Docker Registry
|
||||
- docker login -u $NEXUS_USER -p $NEXUS_PASSWORD $REGISTRY_ADDRESS
|
||||
|
||||
# Construir imagen con tag dinámico ${DRONE_BUILD_NUMBER}
|
||||
- docker build -t $REGISTRY_ADDRESS/$REPOSITORY_NAME/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA} -f src/main/docker/dockerfile . # -f para especificar ruta
|
||||
|
||||
# Push de la imagen
|
||||
- docker push $REGISTRY_ADDRESS/$REPOSITORY_NAME/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}
|
||||
volumes:
|
||||
- name: docker-sock
|
||||
path: /var/run/docker.sock
|
||||
|
||||
# Paso 4: Despliegue en Servidor Externo
|
||||
# - name: deploy-to-server
|
||||
# image: appleboy/drone-ssh
|
||||
# environment:
|
||||
# REGISTRY_ADDRESS: 10.0.0.126:8085
|
||||
# REPOSITORY_NAME: docker-repository # Nombre del repositorio Docker en Nexus
|
||||
# settings:
|
||||
# host:
|
||||
# - 10.0.0.117
|
||||
# - 10.0.0.116
|
||||
# username:
|
||||
# from_secret: ssh_usuario_117
|
||||
# password:
|
||||
# from_secret: ssh_password_117
|
||||
# port: 22
|
||||
# command_timeout: 2m
|
||||
# script:
|
||||
# - echo "Iniciando despliegue..."
|
||||
# - docker login -u yandel -p ${REGISTRY_ADDRESS}
|
||||
# - docker stop mi-app || true
|
||||
# - docker rm mi-app || true
|
||||
# - docker pull 10.0.0.126:8085/docker-repository/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}
|
||||
# - docker run -d --name mi-app -p 8082:8080 10.0.0.126:8085/docker-repository/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}
|
||||
# #- docker pull $NEXUS_PASSWORD $REGISTRY_ADDRESS/docker-repository/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}
|
||||
# #- docker run -d --name mi-app -p 8082:8080 $NEXUS_PASSWORD $REGISTRY_ADDRESS/docker-repository/${DRONE_REPO_NAME}:${DRONE_COMMIT_SHA}
|
||||
# - echo "Fin despliegue..."
|
||||
volumes:
|
||||
- name: maven-cache
|
||||
host:
|
||||
path: /tmp/drone-maven-cache
|
||||
- name: docker-sock
|
||||
host:
|
||||
path: /var/run/docker.sock # Montar socket de Docker
|
Loading…
x
Reference in New Issue
Block a user