Android项目jenkins自动化构建之Jenkinsfile发送邮件(二)

Android项目jenkins自动化构建之Jenkinsfile发送邮件(二)

看本章时先看一遍本人另一篇 Android项目jenkins自动化构建之360加固 ,不然里面有写可能不理解,不连贯

上章讲述了自动化构建后进行360加固,加固后本应该时签名,网上脚本较多大家找个吧(主要我还没时间,有时间写个挂傻上)。这里我们说下构建完成后,将加固后的包邮件发送给测试(好吧,你想发谁就发谁)。

邮件我用的插件Extended E-mail Notification,我们在在Jenkins下载安装插件
Android项目jenkins自动化构建之Jenkinsfile发送邮件(二)_第1张图片
Android项目jenkins自动化构建之Jenkinsfile发送邮件(二)_第2张图片
经过上面两步,重启jenkins就完成了插件安装,这时在系统管理中打开系统设置,再里面我们会找到如下图所示

Android项目jenkins自动化构建之Jenkinsfile发送邮件(二)_第3张图片
我这里用的qq邮箱,按图中所示填写最上边两个框就行。然后看到右边有个advanced 按钮没,轻轻点下页面就会变成下图:

Android项目jenkins自动化构建之Jenkinsfile发送邮件(二)_第4张图片
上图红色圈起来的时我们必须填写的,有几个重点注意的地方

  1. user name 只填写@qq.com前面的部分
  2. password 不是qq密码,是qq邮箱授权码,获取方式就不写了,点这儿详解
  3. 这个插件不好处就是不能测试能否正常发送,我用的jenkins自带的邮件发送测试的,两个配置一样,一个通了就行
    如下图

重点来了,本章Jenkinsfile 脚本配置发送邮件,老样子上代码

pipeline {

    agent {
        label 'Jenkins镜像'
    }
    options {
        timeout(time: 1, unit: 'HOURS')
    }
    stages {

        stage ('Enhance') {
            when {
                expression { BRANCH_NAME ==~ /release\/.*/ }
            }
            steps {
                sh "./buildsystem/jiagu.sh"
                emailext(
                        subject: "Android加固成功",
                        mimeType: "text/html",
                        attachmentsPattern: "build/jiagu/archives/*",
                        body: enhanceEmailBody(),
                        to: "要发送的人邮箱,多个逗号隔开",
                        recipientProviders: [[$class: 'CulpritsRecipientProvider'],
                                         [$class: 'DevelopersRecipientProvider'],
                                         [$class: 'RequesterRecipientProvider']]
                )
            }
        }
      
    }
   
}

def enhanceEmailBody() {
    return """

IOP-Android加固成功。

更新日志:
${getChangeString().replaceAll("\\\\\\\\n", "")}

附件说明如下:

  1. 文件名带jiagu的,是加固后的包,用于分发。
  2. 文件名不带jiagu的,与mapping开头的txt文件,用于生成补丁。
  3. git-info.txt文件为本次构建代码的最新git信息。

""" }

略作解释

  1. attachmentsPattern 后跟文件,为发送的附件
  2. recipientProviders 发送的方式,具体查看文档,Jenkins文档

至此构建成功啦,再也不用操心打包了

你可能感兴趣的:(android随笔)