Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions azure-pipelines-1.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
trigger:
- main

pool:
vmImage: 'ubuntu-latest'

strategy:
parallel: 3

steps:
# 1️⃣ Verificar versiones de Java y Maven
- script: |
echo "Verificando Java y Maven preinstalados en Linux..."
java -version
mvn -version
displayName: 'Verificar entorno Java y Maven'

# 2️⃣ Compilar proyecto con Maven (sin tests)
- script: |
echo "Iniciando compilación Maven..."
mvn clean package -DskipTests
displayName: 'Compilar proyecto Maven'

# 3️⃣ Ejecutar pruebas (opcional)
- script: |
echo "Ejecutando pruebas..."
mvn test
displayName: 'Ejecutar pruebas con Maven'
continueOnError: true # Permite que el pipeline no falle si hay test rotos

# 4️⃣ Publicar resultados JUnit (si existen)
- task: PublishTestResults@2
inputs:
testResultsFiles: '**/target/surefire-reports/TEST-*.xml'
testRunTitle: 'Resultados de pruebas JUnit'
condition: succeededOrFailed()

# 5️⃣ Mensaje final
- script: echo "✅ Compilación completada exitosamente en Linux con 3 agentes paralelos."
displayName: 'Finalización'
51 changes: 51 additions & 0 deletions azure-pipelines-2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
trigger:
- main

pool:
vmImage: 'ubuntu-latest'

jobs:
# JOB 1: Compilar el proyecto con Maven
- job: Build
displayName: Build Maven Project
steps:
- task: Maven@4
displayName: 'Maven Package'
inputs:
mavenPomFile: 'pom.xml'
goals: 'clean package -DskipTests'

- task: CopyFiles@2
displayName: 'Copy Files to artifact staging directory'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)'
Contents: '**/target/*.?(war|jar)'
TargetFolder: '$(Build.ArtifactStagingDirectory)'

- publish: '$(Build.ArtifactStagingDirectory)'
artifact: 'drop'


# JOB 2: Despliegue en entorno de máquinas virtuales Linux
- deployment: VMDeploy
displayName: Web deploy to Linux VM
dependsOn: Build
condition: succeeded()
environment:
name: 'maquina1' # Tu environment existente
resourceType: VirtualMachine
tags: 'linux-app' # Etiqueta de las VMs (ajústala según tu entorno)

strategy:
runOnce: # Ejecuta una vez por VM
deploy:
steps:
- download: current
artifact: drop

- script: |
echo " Iniciando despliegue en máquina virtual Linux..."
echo " Artefactos disponibles:"
ls -R $(Pipeline.Workspace)/drop
echo "✅Despliegue completado en la VM con tag 'linux-app'"
displayName: 'Ejecutar despliegue en VM Linux'
57 changes: 57 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# ==============================================
# Azure DevOps Pipeline - Proyecto INTERESTELAR
# ==============================================
# Este pipeline ejecuta tres tareas en paralelo
# usando tres agentes distintos.
# ==============================================

trigger:
- main

# Variables seguras (define myToken y myPassword en Azure DevOps)
variables:
agentPoolName: 'MySelfHostedPool' # Nombre del pool de tus agentes
agentProject: 'INTERESTELAR' # Nombre del proyecto
myToken: '$(myToken)' # Token seguro (variable secreta)
myPassword: '$(myPassword)' # Contraseña segura
myUser: 'sebatianuribe111' # Usuario de agente remoto

# ==============================================
# Job 1, 2 y 3 corren en paralelo
# ==============================================
jobs:
- job: BuildProject
displayName: " Compilar proyecto INTERESTELAR"
pool:
name: '$(agentPoolName)'
steps:
- script: |
echo "Iniciando compilación en $(Agent.Name)"
echo "Compilando código fuente..."
sleep 10
echo " Compilación completada."
displayName: "Compilación del código"

- job: RunTests
displayName: " Ejecutar pruebas automáticas"
pool:
name: '$(agentPoolName)'
steps:
- script: |
echo "Ejecutando pruebas en $(Agent.Name)"
echo "Corriendo tests unitarios..."
sleep 8
echo " Pruebas exitosas."
displayName: "Ejecución de pruebas"

- job: DeployApp
displayName: " Desplegar aplicación"
pool:
name: '$(agentPoolName)'
steps:
- script: |
echo "Desplegando aplicación desde $(Agent.Name)"
echo "Ejecutando tareas de despliegue..."
sleep 6
echo " Despliegue completado correctamente."
displayName: "Despliegue de la aplicación"