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
    }
  • 相关阅读:
    插入排序
    dojo树的节点添加链接的例子
    Discuz 3x 配置问题
    mysql_connect() 不支持 请检查 mysql 模块是否正确加载
    IIS访问php页面问题,报告404错误
    Map使用操作系统内存的情况
    IT级别
    java类型和mysql类型的转换
    C++析构函数的自动调用问题
    c++中虚函数
  • 原文地址:https://www.cnblogs.com/longronglang/p/12915618.html
Copyright © 2011-2022 走看看