pipeline { agent any stages { stage('Checkout') { steps { echo '✅ Code checked out from gitea' } } stage('Build Docker Image') { steps { sh ''' docker build -t management-platform:latest ./platform/ echo "✅ Docker image built" ''' } } stage('Deploy to Server 1') { steps { sh ''' docker stop management-platform 2>/dev/null || true docker rm management-platform 2>/dev/null || true docker run -d \ --name management-platform \ --restart unless-stopped \ -p 8088:5000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /root:/root \ -v /etc/passwd:/etc/passwd:ro \ -v /etc/shadow:/etc/shadow:ro \ -v /root/management-platform/config.py:/app/config.py:ro \ -v /root/management-platform/modules:/app/modules:ro \ -v /proc/meminfo:/proc/meminfo:ro \ -v /proc/stat:/proc/stat:ro \ -v /proc/loadavg:/proc/loadavg:ro \ -v /proc/uptime:/proc/uptime:ro \ -v /proc/sys/kernel/hostname:/proc/sys/kernel/hostname:ro \ management-platform:latest sleep 4 docker ps | grep management-platform && echo "✅ Deployed OK" || exit 1 ''' } } stage('Health Check') { steps { sh ''' sleep 3 curl -f http://173.249.20.244:8088/ && echo "✅ Platform responding" || echo "⚠️ Health check failed" ''' } } } post { success { echo '✅ Pipeline succeeded — platform deployed' } failure { echo '❌ Pipeline failed — check logs' } } }