Appetizer 在 Jenkins 中接入 Appetizer 质量监控

appetizer.io for AppetizerIO · 发布于 2017年07月11日 · 最后由 appetizer.io 回复于 2017年07月12日 · 643 次阅读

Jenkins是企业持续化集成的标配,本文介绍如何在单机Jenkins, Master-slave Jenkins, Jenkins Pipeline以及Jenkins REST API接入Appetizer质量监控服务。

前置配置

单机版Jenkins配置

  • 比如你的个人项目是一个Jenkins 自由风格软件项目

  • Git然后 gradle 编译的,在编译步骤增加如下命令,Windows的用 Execute Windows batch command, Linux和MacOS上用 Execute Shell

    • 注意,insights.py请自行替换成之前配置的insights.py工程路径(比如 /Users/haha/insights.py/insights.py,注意一个是目录名,里面的才是实际Python脚本文件)
    • 命令的参数中apk是gradle编译的apk文件的路径,和具体Jenkins配置的working directory有关,一般是build/outputs/apk/app-debug.apk
    • 命令的参数中processed_apk是存放插桩后的apk文件的路径,同样,一般是 build/outputs/apk/app-debug-appetizer.apk
  • 全部配置完成后尝试构建,输出大致应该是这样的

Jenkins Pipeline配置

从2.0版本起,Jenkins开始支持pipeline功能。简而言之,Jenkins pipeline提供了通过配置文件定制整个集成流程的功能,无论编译、测试、部署、生成报告都可以通过一份文件完成配置。相比于传统的交互式配置,Jenkins pipeline有着可移植性和易用性上的绝对优势,因而在工程实践中应用广泛。

这是一个用Jenkins pipeline集成insights.py的配置文件模板样例,大家可以根据项目的实际情况做适当的修改。

pipeline {
agent any /*replace 'any' with the agent to use*/

stages {
    stage('Build') { 
        steps { 
            //build command here
        }
    }
    stage('Test'){
        steps {
            //Test command here
        }
    }
    stage('Deploy') {
        steps {
            //Deploy command here
        }
    }
}
post{
        always{
            // 这边同样,命令行参数要求见单机配置
            bat 'python insights.py process apk processed apk'
        }
    }
}

Master-slave Jenkins配置

Jenkins REST API

  • 既然已经到高级玩家用REST API,那么很简单,insights.py只需要在gradle完成正常的构建后对apk进行插桩即可

联系方式

  • 有Jenkins接入insights.py问题的请留言
  • Appetizer QQ讨论群: 467889502
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 2 条回复
12169

还未尝试,感觉挺高大上,建议支持插装jacoco等覆盖率分析工具,这样就可以把自动或者手工测试覆盖率也拿到了,从多个维度体现出app质量。

11797
12169gxdprivate 回复

在计划中

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册