zoukankan      html  css  js  c++  java
  • jenkins流水线pipeline脚本实例

    发送邮件

    import hudson.model.*;
     
    println env.JOB_NAME
    println env.BUILD_NUMBER
     
    pipeline{
        
        agent any
        stages{
            stage("send mail test") {
                steps{
                    script {
                        mail to: '1399811201@qq.com',
                        subject: "Running Pipeline: ${currentBuild.fullDisplayName}",
                        body: "Something is wrong with ${env.BUILD_URL}"
                    }
                }
            }
        }
    }

    发送邮件svn日志内容

    pipeline {
        agent any
        stages {
            stage('拉代码') {
                steps {
                    checkout("svn代码")
                }
            }
            stage('输出日志') {
                steps {
                    script{
                        //调用方法得到日志并输出
                        def changeString = getChangeString()
                        echo "$changeString"
                    }
                }
            }
            stage("发送邮件") {
                steps{
                    script {
                        echo "$changeString"
                        mail to: 'qq@qq.com',
                        subject: "${JOB_NAME}  (${BUILD_NUMBER})-提交SVN日志信息",
                        body: "SVN版本变更信息:
    $changeString
    构建日志: $BUILD_URL/console"
                    }
                }
            }
        }
    }
    
    @NonCPS
    def getChangeString() {
        MAX_MSG_LEN = 100
        def changeString = ""
        echo "Gathering SCM changes"
        def changeLogSets = currentBuild.changeSets
        for (int i = 0; i < changeLogSets.size(); i++) {
            def entries = changeLogSets[i].items
            for (int j = 0; j < entries.length; j++) {
                def entry = entries[j]
                truncated_msg = entry.msg.take(MAX_MSG_LEN)
                changeString += "${truncated_msg} -- ${entry.author}
    "
            }
        }
    
        if (!changeString) {
            changeString = "${currentBuild.fullDisplayName}:当前构建版本没有新的变更信息!"
        }
        return changeString
    }
  • 相关阅读:
    linux下vim配置以及一些常用的快捷键
    linux下java环境配置
    编译原理实习(应用预测分析法LL(1)实现语法分析)
    hdu 1063(java写高精度)
    loj 1271
    loj 1379(最短路变形)
    hdu 4114(状压dp)
    loj 1002(spfa变形)
    python生产者消费者模型
    python创建一个线程和一个线程池
  • 原文地址:https://www.cnblogs.com/longronglang/p/12915618.html
Copyright © 2011-2022 走看看