Approval pipeline

This commit is contained in:
2026-03-04 16:22:03 +00:00
parent 7714c4abce
commit 84608782cd

53
014-input-approval.groovy Normal file
View File

@@ -0,0 +1,53 @@
pipeline {
agent { label 'terraform' } // ¡CRUCIAL! Debe correr donde está Terraform instalado
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'https://git.agile611.com/Agile611/startusingjenkins.git'
}
}
stage('Terraform Init') {
steps {
// Inicializa y descarga el provider 'local'
sh 'terraform init'
}
}
stage('Terraform Plan') {
steps {
// Genera el plan y lo guarda en un archivo binario 'tfplan'
// -out es vital para asegurar que el apply haga EXACTAMENTE lo que vimos aquí
sh 'terraform plan -out=tfplan'
// Opcional: Mostrar el plan en texto para que el humano lo lea en los logs
sh 'terraform show -no-color tfplan'
}
}
stage('Aprobación Manual') {
steps {
script {
// Esto pausará el pipeline y mostrará un pop-up en la UI
input message: '¿El plan de Terraform parece correcto?', ok: 'Desplegar'
}
}
}
stage('Terraform Apply') {
steps {
// Aplica el plan guardado anteriormente
sh 'terraform apply -auto-approve tfplan'
}
}
stage('Verificación') {
steps {
// Comprobamos que el archivo se creó
sh 'ls -l mensaje.txt'
sh 'cat mensaje.txt'
}
}
}
}