Jenkins+Gradle实现Android移动端自动打包+邮件发送通知

  • 环境
    OS:Win server 2012
    Jenkins:ver. 2.190.2
    Gradle:5.4.1
  • 配置
    Global Tool Configuration设置
    Manage Jenkins选项中找到Global Tool Configuration进入。
    JDK配置
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知
    Git配置
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知
    Gradle配置,这里安装了两个版本,可根据随时安装新版本。
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知
    Configure System 设置
    Manage Jenkins选项中找到Configure System 进入。
    Android SDK 配置
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知
    注:这里的键与本机环境变量内的Android SDK目录的键一致。前提本地Android SDK已安装配置完成,详情可参考:https://blog.51cto.com/10874766/2506938
    邮件配置
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知
    邮件发送配置
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知
    邮件通知测试
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知
  • 项目配置
    进入项目。
    参数化构建设置
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知
    配置源码
    设置Gitlab代码仓库地址及构建的分支
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知
    构建
    选择“增加构建步骤” -> invoke gradle script
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知
    app:clean
    app:assemble${PRODUCT_FLAVORS}${BUILD_TYPE} --stacktrace

    gradle常用命令
    gradle tasks --all:查看所有构建任务,包括缓存任务;
    gradle clean:清除工程目录下的build文件夹;
    gradle build: 检查依赖并编译打包,debug、release环境包;
    gradle assemble:编译指定的包,如Debug包(gradle assembleDebug)、Release包(gradle assembleRelease);
    --stacktrace:多输出log信息;
    构建后触发邮件通知
    Editable Email Notification中 add Triggers 选择Always。
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知
    邮件Content内容如下:

    <!DOCTYPE html>    
    <html>    
    <head>    
    <meta charset="UTF-8">    
    <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>    
    </head>     
    <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"    
    offset="0">    
    <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">    
        <tr>    
            本邮件由系统自动发出,无需回复!<br/>            
            各位同事,以下为Android移动端${PROJECT_NAME }项目构建信息</br> 
            <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>   
        </tr>    
        <tr>    
            <td><br />    
            <b><font color="#0B610B">构建信息</font></b>    
            <hr size="2" width="100%" align="center" /></td>    
        </tr>    
        <tr>    
            <td>    
                <ul>    
                    <li>项目名称 : ${PROJECT_NAME}</li>    
                    <li>构建编号 : 第${BUILD_NUMBER}次构建</li>    
                    <li>触发原因: ${CAUSE}</li>    
                    <li>构建状态: ${BUILD_STATUS}</li>    
                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>    
                    <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>    
                    <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>    
                    <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>    
                </ul>    
    <h4><font color="#0B610B">失败用例</font></h4>
    <hr size="2" width="100%" />
    $FAILED_TESTS<br/>
    <h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
    <hr size="2" width="100%" />
    <ul>
    ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
    </ul>
    详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
            </td>    
        </tr>    
    </table>    
    </body>    
    </html>

    最终效果如下图:
    Jenkins+Gradle实现Android移动端自动打包+邮件发送通知

  • Jenkins+Gradle实现Android移动端自动打包+邮件发送通知

    上一篇:uni-app Post springboot 后台接收数据为null 解决办法


    下一篇:蓝牙Ibeacon室内定位和微信摇一摇周边原理分析