pipeline { agent any stages { stage('Configurar Entorno') { steps { script { // Aquí asignamos las variables directamente al entorno global de la ejecución if (env.BRANCH_NAME == 'master') { echo "--- MODO PRODUCCIÓN DETECTADO ---" env.CONTAINER_NAME = "django_app_master" env.PORT = "8001" env.DEBUG_MODE = "0" } else if (env.BRANCH_NAME == 'dev') { echo "--- MODO DESARROLLO DETECTADO ---" env.CONTAINER_NAME = "django_app_dev" env.PORT = "8000" env.DEBUG_MODE = "1" } } } } stage('Despliegue') { when { anyOf { branch 'dev'; branch 'master' } } steps { echo "EJECUTANDO DOCKER: ${env.CONTAINER_NAME} en el puerto ${env.PORT}" // Forzamos a Docker a leer las variables y usamos un nombre de proyecto fijo (-p) sh """ CONTAINER_NAME=${env.CONTAINER_NAME} \ PORT=${env.PORT} \ DEBUG_MODE=${env.DEBUG_MODE} \ docker compose -p django_bac -f deployments/docker-compose.yml up -d --build """ } } } } // Automatización activada