jenkins pipeline流水线

1.1 前端发布

pipeline {

    agent any

    environment {

    DINGDING_ROBOT_URL = 'https://oapi.dingtalk.com/robot/send?access_token='

    BRANCH="master3.3"

    BUILD_USER_ID = ""

    BUILD_USER = ""

    BUILD_USER_EMAIL = ""

    ChangeLog = ""

        

    }

    stages {

        //拉取代码

        stage('checkout') {

            steps {

                checkout([$class: 'GitSCM', branches: [[name: '*/masterv3.3']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'http:ESL-.git']]])

            }

        }

        

        

        

        //构建

        stage('BUILD') {

            steps {

                sh 'npm run build'

               

            }

        }

        

        

        //部署

        stage('Deploy') {

            steps {

                sshPublisher(publishers: [sshPublisherDesc(configName: '华东()', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/etc/nginx/html/build/', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'dist/**')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])

            }

        }

    }

    

    

    

    // stages 所有任务执行后触发post

    post {

        //构建失败通知

        failure {

          script {

                 dingtalk (

                        robot: '31ca2fb0-964a--81dd-edf521f78446',

                        type: 'MARKDOWN',

                        title: "项目构建信息",

                        text: [

                            '### 项目构建信息',

                            ">- job名称:    **${JOB_NAME}**",

                            ">- 持续时间:    **${currentBuild.durationString}**",

                            ">- 当前分支:    **${env.BRANCH}**",

                            ">- 构建发起:    **${BUILD_USER}**",

                            ">- 构建结果:   **构建失败❌*",

                            ">- 构建日志:    [点击查看详情](${env.BUILD_URL}console)",

                           // ">- 更新记录:    **${ChangeLog}**",

                            

                                  

                        ],

 

                        at: [

                          '所有人'

                        ]

                    )

          }

 

        }

        //构建成功通知

        success {

        wrap([$class: 'BuildUser']) {

                   script {

                       BUILD_USER_ID = "${env.BUILD_USER_ID}"

                       BUILD_USER = "${env.BUILD_USER}"

                       BUILD_USER_EMAIL = "${env.BUILD_USER_EMAIL}"

                       ChangeLog = "${env.ChangeLog}"

                   }

                }

            dingtalk (

                        robot: '31ca2fb0--468f-81dd-edf521f78446',

                        type: 'MARKDOWN',

                        title: "项目构建信息",

                        text: [

                            '### 项目构建信息',

                            ">- job名称:    **${JOB_NAME}**",

                            ">- 持续时间:    **${currentBuild.durationString}**",

                            ">- 当前分支:    **${env.BRANCH}**",

                            ">- 构建发起:    **${BUILD_USER}**",

                            ">- 构建结果:   **构建成功 ✅**",

                            ">- 构建日志:    [点击查看详情](${env.BUILD_URL}console)",

                           // ">- 更新记录:    **${ChangeLog}**",

                            

                                  

                        ],

 

                        at: [

                          '所有人'

                        ]

                    )

        }

    }

    

}

1.2 后端发布

pipeline {

    agent any

    environment {

    DINGDING_ROBOT_URL = 'https://oapi.dingtalk.com/robot/send?access_token='

    BRANCH="master3.3"

    BUILD_USER_ID = ""

    BUILD_USER = ""

    BUILD_USER_EMAIL = ""

    ChangeLog = ""

         

    }

 

    stages {

         

        

        stage('checkout') {

            steps {

                  checkout([$class: 'GitSCM', branches: [[name: '*/dev_3.3']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'http:///esl_backend/.git']]])

 

            }

        }

        

        //构建

        stage('Build') {

            steps {

                withMaven(jdk: 'jdk', maven: 'maven') {

                   sh 'mvn clean package -DskipTests'

                }

            }

        }

        

        //同步jar包到服务器  start

        stage('Push package') {

            steps {

                  sshPublisher(publishers: [sshPublisherDesc(configName: '华东()', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '/usr/local/esl/start.sh', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/usr/local/esl', remoteDirectorySDF: false, removePrefix: 'target', sourceFiles: 'target/*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])

 

            }

        }

        

    }

    

      post {

        //构建失败通知

        failure {

          script {

                 dingtalk (

                        robot: '31ca2fb0-964a-468f-81dd-edf521f78446',

                        type: 'MARKDOWN',

                        title: "项目构建信息",

                        text: [

                            '### 项目构建信息',

                            ">- job名称:    **${JOB_NAME}**",

                            ">- 持续时间:    **${currentBuild.durationString}**",

                            ">- 当前分支:    **${env.BRANCH}**",

                            ">- 构建发起:    **${BUILD_USER}**",

                            ">- 构建结果:   **构建失败❌*",

                            ">- 构建日志:    [点击查看详情](${env.BUILD_URL}console)",

                           // ">- 更新记录:    **${ChangeLog}**",

                             

                                   

                        ],

 

                        at: [

                          '所有人'

                        ]

                    )

          }

 

        }

        //构建成功通知

        success {

        wrap([$class: 'BuildUser']) {

                   script {

                       BUILD_USER_ID = "${env.BUILD_USER_ID}"

                       BUILD_USER = "${env.BUILD_USER}"

                       BUILD_USER_EMAIL = "${env.BUILD_USER_EMAIL}"

                       ChangeLog = "${env.ChangeLog}"

                   }

                }

            dingtalk (

                robot: '31ca2fb0-964a-468f-81dd-edf521f78446',

                        type: 'MARKDOWN',

                        title: "项目构建信息",

                        text: [

                            '### 项目构建信息',

                            ">- job名称:    **${JOB_NAME}**",

                            ">- 持续时间:    **${currentBuild.durationString}**",

                            ">- 当前分支:    **${env.BRANCH}**",

                            ">- 构建发起:    **${BUILD_USER}**",

                            ">- 构建结果:   **构建成功 ✅**",

                            ">- 构建日志:    [点击查看详情](${env.BUILD_URL}console)",

                           // ">- 更新记录:    **${ChangeLog}**",

                             

                                   

                        ],

 

                        at: [

                          '所有人'

                        ]

                    )

        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值