利用 Travis CI 把 Android 项目部署到 github

博客: 安卓之家
微博: 追风917
CSDN: 蒋朋的家
简书: 追风917

每日一景

本文不涉及 CI 是什么以及优势等,不知道的还请自行 google,这里会手把手教你如何操作。

闲话少说,开始吧。

一共三步:
1. 开启 Travis CI
2. 编写 部署文件 .travis.yml
3. 部署到 github

这里会教你如何操作以及如何解决遇到的问题

开启 Travis CI


首先登录 Travis CI,没有登录的话,用 github 授权登录即可,登录后,点击右上角你的账户,会同步你 github 仓库,把你要进行 CI 的仓库打开即可:

rep

部署文件 .travis.yml


我是在 android studio 下操作的,所以直接新建一个文件,重命名为 .travis.yml 即可,这是一个 yml 文件,有一些需要知道的语法,很简单的几个,自行 google

最基本的写法如下:

language: android  
android:
  components:
    - tools
    - build-tools-23.0.2
    - android-23
    - extra-android-m2repository
    - extra-android-support

before_install:
  - chmod +x gradlew

script:  
  - ./gradlew assembleRelease

上面的内容还是很好理解的,有几个 tag:android 语言、用到的一些组件、增加 gradlew 脚本可执行权限及运行该脚本
该文件的详细说面,这里有详细介绍:Building an Android Project

编写好后,commit push 即可完成基本 CI。

部署到 github


我们的目的是部署到 github,方便我们使用,那么还需要下面的一些操作。

由于 travis 是 ruby 编写,需要下载 ruby 并安装 travis,ruby 下载链接:https://www.ruby-lang.org/zh_cn/downloads/

然后在你的终端运行命令:

gem install travis -v 1.8.2 --no-rdoc --no-ri

此处可能会有问题,首先 windows 用户提示 gem 不是系统命令等错误,这个配置下环境变量,把ruby/bin目录加入环境变量即可。

还可能遇到这个问题:[connection was forcibly closed by the remote host](Errno::ECONNRESET: An existing connection was forcibly closed by the remote host),这个就是 gem 仓库访问不到,也就是你需要翻墙,而大部分翻墙也不好使,这就需要添加国内的 gem 源,这里有两个:

RubyGems 镜像 - 淘宝
RubyGems 镜像- Ruby China

使用方法里面也有说明,以淘宝为例:

$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES ***

https://ruby.taobao.org
# 请确保只有 ruby.taobao.org

此处可能会遇到证书错误:gem install SSL 错误

里面说了很多,其实解决方法就是找到证书,配置下就好了.

关于 Windows 下证书无法验证问题 (certificate verify failed)

好了,这样在安装 travis 就可以了

安装好后就可以部署到 github:
首先登录:

travis login --auto

重要提醒:这条命令在windows下使用cmd,在输入密码时都显示明文密码,并且回车后无响应,我留下了这个:

can’t travis login
can’t travis login

我是开启了 bash,在里面操作成功,遇到同样问题的朋友请更换操作系统或开启bash。

然后部署:

travis setup releases

会提示输入用户名,密码,文件名等,完成后就搞定了。

最后就是提交push代码到github了,push后就可以看到 travis 网站上对应的项目开始集成。
错误在所难免,细心点,用力点,都会解决了。

详细安装说明在这里:https://github.com/travis-ci/travis.rb#installation

这样就可以使用了,当然如果你喜欢,还可以发布到fir.im

自动发布APK到fir.im


很简单,添加几行就可以:

before_install:
- gem install fir-cli
after_deploy:
- fir p app/build/outputs/apk/app-release.apk -T $FIR_TOKEN -c "`git cat-file tag $TRAVIS_TAG`"

即在环境构建阶段安装fir-cli,在发布成功后通过fir命令行工具将apk上传到fir。

其中$FIR_TOKEN可以在fir.im的用户->API Token中找到,然后在Travis CI控制台中创建环境变量FIR_TOKEN并粘贴即可。

git cat-file tag TRAVISTAGtag便 TRAVIS_TAG变量是Travis CI每次运行自动附带的环境变量

安卓开源库收集整理中,欢迎 PR, star,地址:https://github.com/XXApple/AndroidLibs

分享是一种美德,更是一种生活方式!!

也许你会说我是一个梦想者,但我不是唯一的一个。

悦分享,越快乐^_^

欢迎交流,转载请注明出处,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值