持续集成 如何实现 Android 应用的持续部署?

fir.im · 2016年07月21日 · 最后由 fir.im 回复于 2016年07月25日 · 1476 次阅读

构建一个高质量的 Android 应用 最大的挑战是什么?
在整个开发流程中,也许 Coding 时莫名的 bug,也许是 Android 开发兼容性问题,多版本多渠道自动打包问题,也有开发工具选择等等。

每个不同段位的 Android 开发者,都会有不同的答案。如何自动化整个开发 - 打包 - 分发的流程也许真正需要思考。

这篇文章将通过实际的教程向大家展示使用 flow.ci实现 Android 应用自动化持续集成,并将 APK 文件部署到 fir.im 应用内测平台。内测分发完成后,使用 Webhook、邮件、Slack 通知参与测试的人员的一系列步骤,让你全自动化地完成整个开发流程。

了解 flow.ci

flow.ci 是融入了 workflow 机制的持续集成(CI)服务,也可以理解为自动化流程平台,除了集成代码、编译、测试之外,还可以集成常用的工具、灵活自定义流程。1 分钟即可完成开发测试环境搭建,开启第一个 Build。

flow.ci,我们把项目的开发工作流称为 flow ,每个 flow 由触发器插件构成。系统根据不同的语言和环境提供对应的 flow 模版,触发器和插件。Flow 的自定义非常简单,只需要 One-Click 即可添加你需要的插件。它可能是一个代码静态分析检测工具 (比如 Eslint),可能是一个数据库(比如 Mysql/MongoDB/Redis),也可能是一个消息通知插件(比如 邮件/Slack)等。

更专注于代码,其他的琐事交给 flow.ci 自动化完成吧 :)

搭建 Android 应用的持续部署

设置 Andr​​oid 持续部署流程非常简单:

1.创建项目

2.关联代码仓库

3.选择要集成的项目

4.开始你的第一个 Flow

选择项目类型 Android ,开启默认的 flow 模板 ,包括 Intialize - Git Clone - Cache - Build 的流程。

5.选择语言版本,单击创建项目

选择项目语言的版本,除了 Java for Android 外,flow.ci 提供 Node.js , Ruby , PHP , Python 的多语言、多版本的开发测试环境。

后续会支持更多语言。

6.点击 “+” 添加插件,自定义 flow

在环境和语言等初始配置完成后,flow.ci 会提供一套 基本 flow 模版,内含通用流程插件和流程触发设置。如果你有定制化的需求,点击图中 “+” 或者 “删除”“编辑”,实时设置就可以。

7.在插件列表中搜索 Infer Analyzer 插件,选择添加

Infer Analyzer 是 Facebook 推出的 Java 静态代码分析工具,添加这个插件到你的 Flow 模板可以帮助拦截早期错误。

8. 继续添加 fir.im Uploader 插件

fir.im Uploader 插件将输出的 apk 文件上传到 fir.im 应用内测平台,添加这个插件需要添加你的 fir.im 账号的 API token。此外,该插件支持变量,可以直接拉取 github 的提交日志,作为版本更新日志。

9.完成后,还可以添加邮件、Slack 等消息通知插件

实现这套自动化流程之后,只需要开发新功能,提交代码即可。图为跑完整个持续部署流程,健康的项目状态。


繁琐可循的任务就应该工具化自动化,这是程序员们的不懈追求。如果你也想体验 Android 应用的自动化持续部署,来 http://flow.ci 首页提交申请,邀请码随后会发送到邮箱。

期待你的反馈。

Happy Building!
flow.ci team

共收到 2 条回复 时间 点赞

跟 jenkins 有何区别?

—— 来自 TesterHome 官方 安卓客户端

  1. 主要的区别就是 Self-Host CI 和 SaaS CI 的区别;
  2. 使用维护成本上的区别, flow.ci 配置简单,没有学习成本;
  3. 文档和用户支持有中文在线的;
  4. 界面更简洁清晰好用。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册