zoukankan      html  css  js  c++  java
  • jenkins pipline

    1.jenkins-version

    2.Jenkins需要配置邮件通知,安装插件Email Extension安装后重启Jenkins。

    3.然后进入系统管理-> 系统设置 , 先配置下全局的admin的邮箱地址。(最后配置下不然可能会出错的)

    4.Extended E-email Notification。设置邮件系统配置信息。

    5.换个选项注意下: 不选择 HTML 就是普通的文本, HTML 可以支持html网页,更加美观。这里选择 HTML

    6.pipeline

    def buildTools = ["maven": "/usr/local/apache-maven-3.8.4"] //mvn所在机器的路径
    
    env.userEmail="XXXXXXXXXX@qq.com"  //定义邮箱
    
    pipeline {
    	agent { label  "build" }
    	options {
            timestamps() // 在日志中打印时间
            skipDefaultCheckout() // 删除隐式的checkout scm 语句
            timeout(time:1, unit:'HOURS') // 流水线超时设置为1H
            }
    
    	stages {
    		stage("GetCode"){
    			steps{
    				script{
    					println("下载代码 --> 分支: ${env.branchName}")
     					checkout([$class: 'GitSCM', branches: [[name: "${env.branchName}"]],
                        extensions: [], 
                        userRemoteConfigs: [[credentialsId: '3c97579a-acee-49db-a657-4ea2997ada29', 
                                   url: "${env.gitHttpURL}" ]]])
    
    				}
    			}
    			
    		}
    
    		stage("Build"){
    			steps {
    				script {
    
    					//sh "/usr/local/apache-maven-3.8.1/bin/mvn clean package"
    					sh "${buildTools["maven"]}/bin/mvn clean package  -s settings.xml"
    				}
    			}
    		}
    
    		stage("UnitTest"){
    			steps{
    				script{
    					sh "${buildTools["maven"]}/bin/mvn test  -s settings.xml"
    
    				}
    			}
    			post {
    				success {
    					script{
    						junit 'target/surefire-reports/*.xml'
    					}
    				}
    			}
    		}
    
    	}
    
    	post {
    		success {
    			script {
                    EmailUser("${userEmail}","success") //调用函数
    			}
    		}
    	}
    }
    
    def EmailUser(userEmail,status){
     	emailext body: """
                <!DOCTYPE html> 
                <html> 
                <head> 
                <meta charset="UTF-8"> 
                </head> 
                <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4" offset="0"> 
                    <img src="http://10.2.1.15:8080/static/0eef74bf/images/headshot.png">
                    <table width="95%" cellpadding="0" cellspacing="0" style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">   
                        <tr> 
                            <td><br /> 
                                <b><font color="#0B610B">构建信息</font></b> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td> 
                                <ul> 
                                    <li>项目名称:${JOB_NAME}</li>         
                                    <li>构建编号:${BUILD_ID}</li> 
                                    <li>构建状态: ${status} </li>                         
                                    <li>项目地址:<a href="${BUILD_URL}">${BUILD_URL}</a></li>    
                                    <li>构建日志:<a href="${BUILD_URL}console">${BUILD_URL}console</a></li> 
                                </ul> 
                            </td> 
                        </tr> 
                        <tr>  
                    </table> 
                </body> 
                </html>  """,
                subject: "Jenkins-${JOB_NAME}项目构建信息 ",
                to: userEmail
    }
    

  • 相关阅读:
    零基础入门:实时音视频技术基础知识全面盘点
    IM开发干货分享:如何优雅的实现大量离线消息的可靠投递
    flask_apscheduler 定时任务框架
    小程序使用 editor 富文本编辑器填坑指南
    万年深坑:mpVue 中的坑
    js利用canvas绘制爱心
    【字节跳动21届提前批】面试手撕代码——电梯调度算法
    Maximum call stack size exceeded 报错
    未安装less-loder
    05 vue前端工程化
  • 原文地址:https://www.cnblogs.com/Applogize/p/15719111.html
Copyright © 2011-2022 走看看