构建一个高质量的 Android 应用 最大的挑战是什么? 在整个开发流程中,也许 Coding 时莫名的 bug,也许是 Android 开发兼容性问题,多版本多渠道自动打包问题,也有开发工具选择等等。android
每一个不一样段位的 Android 开发者,都会有不一样的答案。如何自动化整个开发-打包-分发的流程也许真正须要思考。git
这篇文章将经过实际的教程向你们展现使用 flow.ci实现 Android 应用自动化持续集成,并将 APK 文件部署到 fir.im 应用内测平台。内测分发完成后,使用 Webhook、邮件、Slack 通知参与测试的人员的一系列步骤,让你全自动化地完成整个开发流程。程序员
flow.ci 是融入了 workflow 机制的持续集成(CI)服务,也能够理解为自动化流程平台,除了集成代码、编译、测试以外,还能够集成经常使用的工具、灵活自定义流程。1 分钟便可完成开发测试环境搭建,开启第一个 Build。github
在 flow.ci,咱们把项目的开发工做流称为 flow ,每一个 flow 由触发器和插件构成。系统根据不一样的语言和环境提供对应的 flow 模版,触发器和插件。Flow 的自定义很是简单,只须要 One-Click 便可添加你须要的插件。它多是一个代码静态分析检测工具(好比 Eslint),多是一个数据库(好比 Mysql/MongoDB/Redis),也多是一个消息通知插件(好比 邮件/Slack)等。sql
更专一于代码,其余的杂事交给 flow.ci 自动化完成吧 :)数据库
设置 Android 持续部署流程很是简单:ruby
选择项目类型 Android ,开启默认的 flow 模板 ,包括 Intialize - Git Clone - Cache - Build 的流程。app
选择项目语言的版本,除了 Java for Android 外,flow.ci 提供 Node.js , Ruby , PHP , Python 的多语言、多版本的开发测试环境。工具
后续会支持更多语言。开发工具
在环境和语言等初始配置完成后,flow.ci 会提供一套 基本 flow 模版,内含通用流程插件和流程触发设置。若是你有定制化的需求,点击图中“+”或者“删除”“编辑”,实时设置就能够。
Infer Analyzer 是 Facebook 推出的 Java 静态代码分析工具,添加这个插件到你的 Flow 模板能够帮助拦截早期错误。
fir.im Uploader 插件将输出的 apk 文件上传到 fir.im 应用内测平台,添加这个插件须要添加你的 fir.im 帐号的 API token。此外,该插件支持变量,能够直接拉取 github 的提交日志,做为版本更新日志。
实现这套自动化流程以后,只须要开发新功能,提交代码便可。图为跑完整个持续部署流程,健康的项目状态。
繁琐可循的任务就应该工具化自动化,这是程序员们的不懈追求。若是你也想体验 Android 应用的自动化持续部署,来 http://flow.ci 首页提交申请,邀请码随后会发送到邮箱。
期待你的反馈。
Happy Building! flow.ci team