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)
                        // Busca esta línea en tu Jenkinsfile y añade el final:
                        sh "CONTAINER_NAME=${CONTAINER_NAME} PORT=${PORT} DEBUG_MODE=${DEBUG_MODE} docker compose -p django_bac -f deployments/docker-compose.yml up -d --build web"
                    }
                }
    }
}
// Automatización activada