From a9756d15ccf7d0f6b4334eec0fd405e0c91c3861 Mon Sep 17 00:00:00 2001 From: Josuani Moranchel <130728934+Josuani@users.noreply.github.com> Date: Sun, 17 Dec 2023 14:07:34 -0600 Subject: [PATCH] pipeline --- piepeline | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 piepeline diff --git a/piepeline b/piepeline new file mode 100644 index 0000000..0bc82af --- /dev/null +++ b/piepeline @@ -0,0 +1,46 @@ +pipeline { + agent any + + environment { + TERRAFORM_HOME = tool 'Terraform' // Define la herramienta Terraform como una variable de entorno + PROJECT_DIR = 'ruta_del_proyecto' + CLOUDGURU_API_KEY = credentials('cloudguru-api-key') // Almacena la clave de la API de CloudGuru en Jenkins Credentials + } + + stages { + stage('Clonar Repositorio') { + steps { + checkout scm + } + } + + stage('Configurar Infraestructura con Terraform') { + steps { + script { + sh "${TERRAFORM_HOME}/terraform init ${PROJECT_DIR}" + sh "${TERRAFORM_HOME}/terraform apply -auto-approve ${PROJECT_DIR}" + } + } + } + + stage('Desplegar Laboratorio') { + steps { + script { + // Llamadas a la API de CloudGuru para configurar el laboratorio + withCredentials([string(credentialsId: 'cloudguru-api-key', variable: 'CLOUDGURU_API_KEY')]) { + sh "curl -X POST -H 'Authorization: Bearer ${CLOUDGURU_API_KEY}' https://api.cloudguru.com/labs/deploy" + } + } + } + } + } + + post { + success { + echo 'Pipeline ejecutado exitosamente.' + } + failure { + echo 'Error en la ejecución del pipeline.' + } + } +}