Files
pipeline-Jenkins/piepeline
Josuani Moranchel a9756d15cc pipeline
2023-12-17 14:07:34 -06:00

47 lines
1.4 KiB
Plaintext

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.'
}
}
}