Android项目jenkins自动化构建之Jenkinsfile发送邮件(二)
看本章时先看一遍本人另一篇 Android项目jenkins自动化构建之360加固 ,不然里面有写可能不理解,不连贯
上章讲述了自动化构建后进行360加固,加固后本应该时签名,网上脚本较多大家找个吧(主要我还没时间,有时间写个挂傻上)。这里我们说下构建完成后,将加固后的包邮件发送给测试(好吧,你想发谁就发谁)。
邮件我用的插件Extended E-mail Notification,我们在在Jenkins下载安装插件
经过上面两步,重启jenkins就完成了插件安装,这时在系统管理中打开系统设置,再里面我们会找到如下图所示
我这里用的qq邮箱,按图中所示填写最上边两个框就行。然后看到右边有个advanced 按钮没,轻轻点下页面就会变成下图:
上图红色圈起来的时我们必须填写的,有几个重点注意的地方
- user name 只填写@qq.com前面的部分
- password 不是qq密码,是qq邮箱授权码,获取方式就不写了,点这儿详解
- 这个插件不好处就是不能测试能否正常发送,我用的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 """<p>IOP-Android加固成功。</p>
<p>更新日志:<br/>
${getChangeString().replaceAll("\\\\\\\\n", "")}</p>
<p>附件说明如下:</p>
<ol>
<li>文件名带jiagu的,是加固后的包,用于分发。</li>
<li>文件名不带jiagu的,与mapping开头的txt文件,用于生成补丁。</li>
<li>git-info.txt文件为本次构建代码的最新git信息。</li>
</ol>
</p>
"""
}
略作解释
- attachmentsPattern 后跟文件,为发送的附件
- recipientProviders 发送的方式,具体查看文档,Jenkins文档
至此构建成功啦,再也不用操心打包了