pipeline {
    agent any
    
    tools {
        nodejs 'NodeJS22'
    }

    environment {
        // 抽取部署目标路径为公共变量
        DEPLOY_DIR = '/data/nginx/www/fafamall/website'
    }
    
    stages {
        stage('拉取代码') {
            steps {
                checkout scm
            }
        }
        
        stage('安装依赖') {
            steps {
                sh '''
                rm -rf node_modules package-lock.json
                npm config set registry https://registry.npmmirror.com
                npm install
                '''
            }
        }
        
        stage('构建项目') {
            steps {
                sh 'npm run build'
            }
        }
        
        stage('部署项目') {
            steps {
                sh '''
                    # 公共部署逻辑（创建目录、清理、复制）
                    mkdir -p ${DEPLOY_DIR}
                    rm -rf ${DEPLOY_DIR}/*
                    cp -r dist/* ${DEPLOY_DIR}/
                '''
            }
        }
    }
    
    post {
        success {
            echo 'Vue项目部署成功.'
        }
        failure {
            echo 'Vue项目部署失败.'
        }
    }
}