pipeline {
    agent {label 'jenkins-jnlp'}
    triggers {
    GenericTrigger(
     genericVariables: [
      [key: 'ref', value: '$.ref']
     ],
     causeString: 'Triggered on $ref',
     token: 'searchhotcrawler123',
     printContributedVariables: true,
     printPostContent: true,
     silentResponse: false,
     regexpFilterText: '$ref',
     regexpFilterExpression: 'refs/heads/' + BRANCH_NAME
    )
  }
    stages {
        stage('build') {
            when { branch 'master' }
            steps {
                sh '/apache-maven-3.6.3/bin/mvn clean package -Dmaven.test.skip=true -U'
            }
            post {
                success {
                    sh "/usr/local/bin/workwechatctl -p ${env.JOB_NAME} -n 马黎滨 -c 项目编译成功进行下一阶段"
                }
                failure {
                    step([$class: 'Mailer',
                    notifyEveryUnstableBuild: true,
                    recipients: "malibin@zhiweidata.com",
                    sendToIndividuals: true])
                }
            }
        }
stage('build image') {
            when { branch 'master' }
            steps {
                withCredentials([usernamePassword(credentialsId: 'dockerhub', passwordVariable: 'dockerhubPassword', usernameVariable: 'dockerhubUser')]) {
                    sh "docker login --username ${dockerhubUser} --password  ${dockerhubPassword}  harbor.docker.zhiweireach.com"
                    sh " docker build -t harbor.docker.zhiweireach.com/crawler/searchhot-crawler:${env.BUILD_NUMBER} .    "
                }
            }
            post {
                success {
                    sh "/usr/local/bin/workwechatctl -p ${env.JOB_NAME} -n 张金晓   -c 镜像构建成功进行下一阶段"
                }
            }
        }
        stage('push image') {
            when { branch 'master' }
            steps {
                sh " docker login --username admin --password JinxiaoZhang...701 harbor.docker.zhiweireach.com"
                sh " docker push harbor.docker.zhiweireach.com/crawler/searchhot-crawler:${env.BUILD_NUMBER}"
            }
            post {
                success {
                    sh "/usr/local/bin/workwechatctl -p ${env.JOB_NAME} -n 张金晓 -c 镜像push成功进行下一阶段"
                }
            }
        }
        stage('deploy') {
            when { branch 'master' }
            steps {
                sh "kubectl version"
                sh "kubectl -n default set image deployment/searchhot-crawler searchhot-crawler=harbor.docker.zhiweireach.com/crawler/searchhot-crawler:${env.BUILD_NUMBER} --record"
            }
            post {
                success {
                    sh "/usr/local/bin/workwechatctl -p ${env.JOB_NAME} -n 张金晓 -c k8spod已部署更新成功"
                }
            }
        }
    }
}