pipeline {
    agent any

    environment {
        IMAGE_NAME = "astro-portfolio"
        CONTAINER_NAME = "portfolio"
        DOCKER_NETWORK = "reverse-proxy"
    }

    stage('Checkout') {
        steps {
            checkout scm
        }
    }

    stage('Docker Build') {
        steps {
            sh "docker build -t ${IMAGE_NAME} ."
        }
    }

    stage('Deploy') {
        steps {
            sh "docker stop ${CONTAINER_NAME} || true"
            sh "docker rm ${CONTAINER_NAME} || true"
            sh "docker run -d --name ${CONTAINER_NAME} --network ${DOCKER_NETWORK} ${IMAGE_NAME}"
        }
    }

    stage('Cleanup') {
        steps {
            sh "docker image prune -f"
        }
    }

    post {
        success { echo "Le site est en ligne !" }
        failure { echo "Le déploiement a échoué." }
    }
}
