悠悠小仙仙 发表于 2017-6-15 13:45:42

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

构建一个高质量的 Android 应用 最大的挑战是什么?
在整个开发流程中,也许 Coding 时莫名的 bug,也许是 Android 开发兼容性问题,多版本多渠道自动打包问题,也有开发工具选择等等。
每个不同段位的 Android 开发者,都会有不同的答案。如何自动化整个开发-打包-分发的流程也许真正需要思考。
这篇文章将通过实际的教程向大家展示使用 flow.ci实现 Android 应用自动化持续集成,并将 APK 文件部署到 fir.im 应用内测平台。内测分发完成后,使用 Webhook、邮件、Slack 通知参与测试的人员的一系列步骤,让你全自动化地完成整个开发流程。
了解 flow.ciflow.ci 是融入了 workflow 机制的持续集成(CI)服务,也可以理解为自动化流程平台,除了集成代码、编译、测试之外,还可以集成常用的工具、灵活自定义流程。1 分钟即可完成开发测试环境搭建,开启第一个 Build。
在 flow.ci,我们把项目的开发工作流称为 flow ,每个 flow 由触发器和插件构成。系统根据不同的语言和环境提供对应的 flow 模版,触发器和插件。Flow 的自定义非常简单,只需要 One-Click 即可添加你需要的插件。它可能是一个代码静态分析检测工具(比如 Eslint),可能是一个数据库(比如 Mysql/MongoDB/Redis),也可能是一个消息通知插件(比如 邮件/Slack)等。
更专注于代码,其他的琐事交给 flow.ci 自动化完成吧 :)
搭建 Android 应用的持续部署设置 Andr​​oid 持续部署流程非常简单:
1.创建项目
http://7xsn88.com1.z0.glb.clouddn.com/image/1/dd/fa617ca08b61e0584a86dc131b98e.png


2.关联代码仓库
http://7xsn88.com1.z0.glb.clouddn.com/image/2/a8/e989cd4e20ef01ba9dfe64ab70f58.png


3.选择要集成的项目
http://7xsn88.com1.z0.glb.clouddn.com/image/e/04/d4f8b2669fe1ad15b8495ebcbdcf9.png


4.开始你的第一个 Flow
http://7xsn88.com1.z0.glb.clouddn.com/image/1/37/f6f41c5500266b2200949b4f07e6d.png



http://7xsn88.com1.z0.glb.clouddn.com/image/3/2d/c27269f60e30883a540172ce6d124.png


选择项目类型 Android ,开启默认的 flow 模板 ,包括 Intialize - Git Clone - Cache - Build 的流程。
5.选择语言版本,单击创建项目
http://7xsn88.com1.z0.glb.clouddn.com/image/7/8c/a560a86adad778b7f6a92992eb15c.png


选择项目语言的版本,除了 Java for Android 外,flow.ci 提供 Node.js , Ruby , PHP , Python 的多语言、多版本的开发测试环境。
后续会支持更多语言。
6.点击“+”添加插件,自定义 flow
http://7xsn88.com1.z0.glb.clouddn.com/image/2/a8/65354b652c9c379657c1a1cb84cf9.png


在环境和语言等初始配置完成后,flow.ci 会提供一套 基本 flow 模版,内含通用流程插件和流程触发设置。如果你有定制化的需求,点击图中“+”或者“删除”“编辑”,实时设置就可以。
7.在插件列表中搜索 Infer Analyzer 插件,选择添加
http://7xsn88.com1.z0.glb.clouddn.com/image/f/50/ff6d2f7a4f1ee0e535cf7ad51fe87.png


Infer Analyzer 是 Facebook 推出的 Java 静态代码分析工具,添加这个插件到你的 Flow 模板可以帮助拦截早期错误。
8. 继续添加 fir.im Uploader 插件
http://7xsn88.com1.z0.glb.clouddn.com/image/3/53/b3d4c3a058605aebb101b2b992367.png


fir.im Uploader 插件将输出的 apk 文件上传到 fir.im应用内测平台,添加这个插件需要添加你的 fir.im 账号的 API token。此外,该插件支持变量,可以直接拉取 github 的提交日志,作为版本更新日志。
9.完成后,还可以添加邮件、Slack等消息通知插件
http://7xsn88.com1.z0.glb.clouddn.com/image/6/4d/4aa4366b242e0b179e77f6ed01a00.png


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

八戒你干嘛 发表于 2017-6-15 14:03:26

学习

悠悠小仙仙 发表于 2017-6-15 14:04:40

八戒你干嘛 发表于 2017-6-15 14:03
学习

:victory:

岛屿soliloquy 发表于 2017-6-16 10:05:55

先进来学习,
Android的学习还很深。。。


————收藏帖,学习过程中又不懂的部分在询问版主
页: [1]
查看完整版本: 如何实现 Android 应用的持续部署?