首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Travis CI 邂逅 GitHub、Maven、Fir.im

这篇文章的目的很简单,就是要实现当我们在 GitHub 上创建应用或库的时候,Travis CI 可以帮助我们构建应用,可以把应用每次打的tag提交到 GitHub 的 releases 上,也可以把库构建完的每次版本提交到 Maven 上,还可以把应用发布到 Fir.im 上,成功或失败邮件通知我们。

目录

Travis CI

Travis CI 是什么?

Travis CI 配置

.travis.yml 中的属性

构建中涉及到的证书及密码问题

提交到 GitHub 的 releases

提交到 Maven

发布到 Fir.im

通知开发者

其它

git tag

studio 3.0 前后的打包

gradlew 的命令

个人应用示例

Travis CI 是什么?

Travis CI 是一种自动化持续集成工具,类似于公司经常使用的 Jenkins,但是 Travis CI 运行在云端支持 GitHub,我们可以用 Travis CI 做很多的事情,所以使用该工具完全可以满足我们的需求,解决我们的痛点。

Travis CI 配置

首先第一步你需要到 travis-ci.org 网站上用你的 GitHub 帐号注册登录,需要注意的是 Travis 分为开源项目版本与付费项目版本。

我们使用免费的版本就可以了,登录成功后,Travis 会同步你的 GitHub 仓库,如果你想为你的 GitHub 开源项目添加 Travis 持续集成,打开项目名字前面的开关就可以了。

第二步就是在本地配置 Travis 了,当前我的 Travis 版本是1.8.8,安装命令如下:

安装中可能遇到各种各样的问题,比如依赖其它的配置如ruby,或者travis镜像同步不下来,I believe you can fix it. 安装完毕后,检验一下是否成功:

.travis.yml 中的属性

配置完 Travis 后,第三步在你项目的根目录下新建一个 .travis.yml 文件,编辑完后需要提交到 GitHub 上,下面我们先添加一下基本信息,需要注意的是 Travis 对格式很敏感的。

你可以查看他们的文档,配置 Android 项目的地址:https://docs.travis-ci.com/user/languages/android/,我项目的基本配置如下:

Travis CI 在执行构建的时候也是有生命周期的,比如下面这些见名知意Hook住构建过程的方法:

“…” 就是我们要添加的构建命令,完成这些命令就可以解决我们的目的了,比如让我们的构建任务支持缓存,一般指定在.gradle目录下的缓存,如下:

构建中涉及到的证书及密码问题

首先可能你不想将签名文件传到 GitHub 上,那么我门将签名文件加密,将加密后的文件上传就可以了,加密的命令:

该命令执行完后,会在你的 .travis.yml 文件中追加以下信息:

还会在https://travis-ci.org/你的GitHub名称/你的项目名称/settings下面添加加密后的key和value,执行完上面的加密命令后你可以去查看下,除了这个证书的问题,涉及到提交到 Maven 和发布到 Fir.im 都需要相应的 token,这些token信息也是不应该外泄的,我们可以手动在那下面添加这些信息,再需要执行对应命令的时候通过 $XXX_TOKEN 引用即可。

提交到 GitHub 的 releases

下面就是配置 Travis CI 自动发布apk文件到 Github releases 上的命令,执行如下命令:

执行完这个命令,Travis 同样会在你的 .travis.yml 文件下追加如下信息:

你可以查看下.travis.yml 文件,但是这些信息还不够,我们还要人为的添加如下命令:

skip_cleanup:这个命令很重要,默认情况下 Travis CI 在完成编译后会清除所有生成的文件,因此需要设置 skip_cleanup: true 来忽略此操作,否则他会找不到你的apk如果你默认生成的apk路径在build目录下的话。

on:发布的时机,我的设置是 tags: true,即只在有打tag的情况下才会部署发布。

提交到 Maven

我的库都是通过https://github.com/novoda/bintray-release提交到 jcenter 上的,bintray-release 的使用很简单,请自行解决哈,如果前面配置的都没问题,我们只需配置一行命令就可以发布我们的库:

发布到 Fir.im

关于 fie-cli 插件更多的信息,请访问https://github.com/FIRHQ/fir-cli,我的配置如下:

通知开发者

配置下你的邮箱就可以了,构建完成需要部署的话,成功或失败都会邮件通知你的。

git tag

最后一步,打个 tag,让 Tavis 跑起来,构建我们的项目,该提交提交,该发布发布。

studio 3.0 前后的打包

android studio 3.0 之前 gradle 简单的打包脚本

android studio 3.0 之后 gradle 简单的打包脚本

gradlew 的命令

个人应用示例

下面我的两个库都应用了 Travis CI,看完这篇文章如果您有这个需求,请参考:

GroupRecyclerViewAdapter

可增删改查、可展开收起的分组列表,轻松帮你实现【微信-我】等类似页面,动态可配置。

地址:https://github.com/sfsheng0322/GroupRecyclerViewAdapter

https://github.com/sfsheng0322/FirUpdater

Fir.im通道APK更新器,使用简单,让自己的demo快速具备升级功能。

地址:https://github.com/sfsheng0322/FirUpdater

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180226G0G4E100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券