Appetizer 在 Jenkins 中接入 Appetizer 质量监控

AppetizerIO for AppetizerIO · 2017年07月11日 · 最后由 AppetizerIO 回复于 2017年07月12日 · 263 次阅读

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 条回复 时间 点赞

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

guoxd 回复

在计划中

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