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

【Jenkins+Gradle实现Android移动端自动打包+邮件发送通知】得意犹堪夸世俗,诏黄新湿字如鸦。这篇文章主要讲述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="https://www.songbingjia.com/android/${BUILD_URL}console"> ${BUILD_URL}console< /a> < /li> < li> 构建Url : < a href="https://www.songbingjia.com/android/${BUILD_URL}"> ${BUILD_URL}< /a> < /li> < li> 工作目录 : < a href="https://www.songbingjia.com/android/${PROJECT_URL}ws"> ${PROJECT_URL}ws< /a> < /li> < li> 项目Url : < a href="https://www.songbingjia.com/android/${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="https://www.songbingjia.com/android/${PROJECT_URL}changes"> ${PROJECT_URL}changes< /a> < br/> < /td> < /tr> < /table> < /body> < /html>

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

    文章图片


    推荐阅读