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
    }
  • 相关阅读:
    Lucene基础排序算法改进
    大数据量的过滤 (用于爬虫,蜘蛛) Bloom Filter 布隆过滤器
    往空间,博客里添加音乐播放器
    汇编随笔
    一个女程序员的故事(酷壳陈皓)
    cmd 命令之删除整个文件夹
    亿度空间
    用wubi.exe安装ubuntu下载速度很慢怎么办?
    qtm第一次
    copy的妙用
  • 原文地址:https://www.cnblogs.com/longronglang/p/12915618.html
Copyright © 2011-2022 走看看