pipeline {
    agent {
        docker {
            image 'maven:3.9.6-eclipse-temurin-17'
            args '-v /root/.m2:/root/.m2'
        }
    }
    environment {
        IMAGE_NAME = 'LPT:0.0'
        CONTAINER_NAME = 'LPT'
        HOST_PORT = '8081'
        CONTAINER_PORT = '8081'
    }
    stages {
        stage('Build') {
            steps {
                sh 'mvn -B -DskipTests clean package'
            }
        }

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

        stage('Run Docker Container') {
            steps {
                script {
                    // 先尝试删除旧容器（如果存在）
                    sh '''
                      docker rm -f $CONTAINER_NAME || true
                      docker run -d --name $CONTAINER_NAME -p $HOST_PORT:$CONTAINER_PORT $IMAGE_NAME
                    '''
                }
            }
        }
    }
}
