pipeline {
    agent any
    environment {
       BUILD_USER = ""
    }
    stages {
        
        stage('build param') {
            steps {
                wrap([$class: 'BuildUser']) {
                    script {
                        BUILD_USER = "${env.BUILD_USER}"
                    }           
                }
                echo '${BUILD_USER}'
            }
        }
        stage('build job') {
            steps {
                sh 'node -v'
                sh 'npm install && npm run build'
                sh 'tar -zcf dist.tar.gz dist/'
            }
        }
        stage('deploy job') {
            steps {
<<<<<<< HEAD
                sshPublisher(publishers: [sshPublisherDesc(configName: 'ECS-CooleShow-47.114.1.200-dev', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'cd /mnt/datadisk/www/cooleshow/h5-colexiu && rm -rf dist/ && tar -zxf *.tar.gz && rm *.tar.gz && systemctl restart nginx', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/mnt/datadisk/www/cooleshow/h5-colexiu', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '**/*.tar.gz')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
=======
                sshPublisher(publishers: [sshPublisherDesc(configName: 'ECS-CooleShow-47.98.131.38-pre', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'cd /mnt/datadisk/www/jenkins/cooleshow/h5-colexiu && rm -rf dist/ && tar -zxf *.tar.gz && rm *.tar.gz', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/mnt/datadisk/www/jenkins/cooleshow/h5-colexiu', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '**/*.tar.gz')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
>>>>>>> online
            }
        }
        stage('clean job') {
            steps {
                sh 'rm dist.tar.gz'
            }
        }
    }
    post {
        
        success {
            dingtalk (
                robot: "Jenkins",
                type:'ACTION_CARD',
                atAll: false,
                title: "构建成功:${env.JOB_NAME}",
                //messageUrl: 'xxxx',
                text: [
                    "### [${env.JOB_NAME}](${env.JOB_URL}) ",
                    '---',
                    "- 任务:[${currentBuild.displayName}](${env.BUILD_URL})",
                    '- 状态:成功',
                    "- 持续时间:${currentBuild.durationString}".split("and counting")[0],
                    "- 执行人:${BUILD_USER}",
                ]
            )
        }
        failure{
            dingtalk (
                robot: "Jenkins",
                type:'ACTION_CARD',
                atAll: false,
                title: "构建失败:${env.JOB_NAME}",
                //messageUrl: 'xxxx',
                text: [
                    "### [${env.JOB_NAME}](${env.JOB_URL}) ",
                    '---',
                    "- 任务:[${currentBuild.displayName}](${env.BUILD_URL})",
                    '- 状态:失败',
                    "- 持续时间:${currentBuild.durationString}".split("and counting")[0],
                    "- 执行人:${BUILD_USER}",
                ]
            )
        }
    }
}