zoukankan      html  css  js  c++  java
  • Jenkins中配置邮件通知实例演示

    前言:本文通过安装配置Jenkins实现邮件通知,告知一个C# Git Repo的build成功与否

    一、预配条件

    1. 在windows上安装Jenkins和它推荐安装的Plugins
    2. 创建一个@163.com邮箱账号,用来发送邮件
    3. 准备一个测试用的git repo,此处我提供了 https://github.com/wenboyang214/jenkinsCsharpTest.git
    4. 运行下列脚本,Jenkins需要设置git、msbuild等的环境变量,请自行设置

    二、对邮箱账号本身进行设置(此处以163邮箱为例)

    Note: Jenkins中配置的邮箱secret需要授权码,而不是密码本身。因此我们需要获取授权码。

    三、配置Jenkins 的系统参数

    你需要做如下截图的配置

    1.最好更改一下Jenkins的Workspace Root Directory,避免符号的一些错误

    2.设置Jenkins的System Admin e-mail address,此处的邮箱要和你email notification的邮箱一致

    3.在Extended E-mail Notification中进行如下设置,没设置的地方,保持默认

    四、测试邮箱提醒功能

    1.简单创建一个新的Pipeline item 名称为”test”

    2.将下列脚本copy到Pipeline script中

    #!/usr/bin/env groovy Jenkinsfile
    pipeline {
        agent any
        environment {
            def gitRepo="https://github.com/wenboyang214/jenkinsCsharpTest.git"
            def mailRecipients="wenbya@163.com"
        }
        stages {
            stage('1. check the git repo'){
            steps{
                    git "${gitRepo}" 
                }
             }
            stage('3. msbuild the project'){
                steps{
                    bat "msbuild .\JenkinsTest\JenkinsTest.sln"
                }
            }
        }
        post {
            always {
                echo 'testing email notification'
            }
            success {
                echo 'This will run only if successful'
                emailext( 
                    body: '''${SCRIPT, template="groovy-html.template"}''',
                    mimeType: 'text/html',
                    subject: "[Jenkins]${currentBuild.fullDisplayName}",
                    to: "${mailRecipients}",
                    replyTo: "${mailRecipients}",
                    recipientProviders: [[$class: 'CulpritsRecipientProvider'],[$class: 'DevelopersRecipientProvider']]
                )
            }
            failure {
                echo 'This will run only if failed'
                emailext( body: '''${SCRIPT, template="groovy-html.template"}''',
                    mimeType: 'text/html',
                    subject: "[Jenkins]${currentBuild.fullDisplayName}",
                    to: "${mailRecipients}",
                    replyTo: "${mailRecipients}",
                    recipientProviders: [[$class: 'CulpritsRecipientProvider'],[$class: 'DevelopersRecipientProvider']]
                )
            }
            unstable {
                echo 'This will run only if the run was marked as unstable'
            }
            changed {
                echo 'This will run only if the state of the Pipeline has changed'
                echo 'For example, if the Pipeline was previously failing but is now successful'
            }
        }
    }
    

    然后直接启动这个test item

    五、进行对错改动,并检查邮箱是否收到邮件

    更改msbuild的路径,故意让其build出错,检查是否能收到报错邮件。

    bat “msbuild .JenkinsTestJenkinsTest.sln” => bat “msbuild .JenkinsTest1JenkinsTest.sln” 
    

  • 相关阅读:
    php使用异或实现的加密解密
    js常用知识点总结
    linux删除、移动、拷贝时,加-f仍然会提示的解决办法
    CENTOS 挂载硬盘
    linux 常用压缩工具快速指南
    windows中path环境变量即时生效
    WDLINUX (Centos5.8) 安装 bcmath
    hyper中安装wdOS-1.0-x86_64(wdlinux)遇到的网卡问题
    WDLINUX (Centos5.8) 安装 soap
    算法书籍收藏
  • 原文地址:https://www.cnblogs.com/yangwenbo214/p/9836021.html
Copyright © 2011-2022 走看看