持续集成工具Travis CI和Jenkins

持续集成:Continuous Integration,简称CI,意思是,在一个项目中,任何人对代码库的任何改动,都会触发CI服务器自动对项目进行构建,自动运行测试,甚至自动部署到测试环境。

这样做的好处就是,随时发现问题,随时修复。因为修复问题的成本随着时间的推移而增长,越早发现,修复成本越低。

1 > Travis CI是在线托管的CI服务,用Travis来进行持续集成,不需要自己搭服务器,使用方便,对开源项目是免费的,支持多数主流语言。

2 > Jenkins CI ,用Jenkins来进行持续集成。目前大多数公司都使用Jenkins。

 

 

1、Travis CI

 

Travis有两个网址:

https://travis-ci.org/

https://travis-ci.com/

由域名可知:

org是非盈利的,为GitHub上Public的repository提供免费服务;

com是盈利的,可以对Private的提供付费服务。com前100次build是免费的,此后按月收费。

二者的账户是相互独立的,但都可以用GitHub账户注册、登录。这里以Public为例。

 

1 > 首先,使用GitHub账号注册登陆Travis CI网站

 

 

 

2 > 第一次登录时,授权给Travis访问你的GitHub代码库。如果下方绿色按钮不可点击,请更新浏览器或更换浏览器。

 

 

 

3  > 然后,可以看到这个界面会显示当前github账号的所以项目。

如果没有显示,点击右上角的“Sync account”按钮,就可同步过来了。

把需要CI的项目(UIAutomatorTest)勾选上,便开启了该项目。

 

 

4 > 点击 “hebbely/UiAutomatorTest”,进入该项目

 

 

点击“More Options”按钮,选择“Setting” ,然后如下图打开选项:

 

 

5  > 添加.travis.yml

 

 

 
  1. language: android

  2. android:

  3. components:

  4. - tools

  5. - build-tools-26.0.2

  6. - android-26

  7. - extra-android-m2repository

  8. - extra-android-support

  9.  
  10. before_install:

  11. - chmod +x gradlew

  12.  
  13. script:

  14. - ./gradlew assembleRelease

 

 

6 > README.md的“勋章”

 

 

 

在Travis网站上,点击上面那样的Status图标,可以在弹出界面中得到该项目的状态图标链接。

这个链接通常是这种形式:

 

[![Build Status]( https://travis-ci.org/hebbely/UIAutomatorTest.svg?branch=master)]( https://travis-ci.org/hebbely/UIAutomatorTest)
 

7 >之后,项目每次push之后,Travis都会自动构建自动测试该项目。

 

 

2、Jenkins CI 下载安装

 

 

Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 
Jenkins 是一个可扩展的持续集成引擎
主要用于: 

持续、自动地构建/测试软件项目。 

监控一些定时执行的任务。 

Jenkins拥有的特性包括: 

易于安装-只要把jenkins.war部署到servlet容器,不需要数据库支持。 

易于配置-所有配置都是通过其提供的web界面实现。 

集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。 

生成JUnit/TestNG测试报告。 

分布式构建支持Jenkins能够让多台计算机一起构建/测试。 

文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。 

插件支持:支持扩展插件,可以开发适合自己团队使用的工具。

 

1 > Windows下的安装

① 首先下载安装JDK,并配置好JDK的环境变量,详情请参考Android Studio安装与配置中第1点

② 到Jenkins官网下载最新版jenkins.war包。

有两个版本选择:LTS Release(长期支持版本),Weekly Release(每周更新版本)

自行选择,功能上几乎没区别。

③下载完成后在d盘根目录下新建一个jenkins文件夹,并把jenkins文件拷进去

 

 

④打开cmd,进入jenkins目录,然后输入命令:

java -jar jenkins.war 

 

 

⑤打开浏览器,输入http://localhost:8080, 第一次打开需要解锁jenkins

 

 

⑥ 选择第一个“推荐安装”,下载相关插件

 

 

⑦完成后,进入创建用户页面,建议创建用户。也可以以admin账号登录继续,进入主页。

 

 

至此,至此jenkins在windows下的安装就完成了。

 

2 > 插件的安装与更新

如果还需安装其他插件,点击“系统管理” → “管理插件” ,比如下载android-emulator,android-lint等

 

 

 

 

3、Jenkins 用户注册

 

jenkins有自有的用户数据库,为了安全考虑,可以启用用户注册,使用权限控制登录

① 点击“系统管理” → “全局安全设置” ,

 

 

②如下图进行设置,勾选“允许用户注册”,授权策略先选择“登录用户可以做任何事”,设置之后保存退出。

 

 

③点击右上角“注销”,进入下图。

 

 

 

④ 填写注册信息

 

 

⑤然后,使用新用户登录。

点击“系统管理” → “全局安全设置” ,把授权策略改为“安全矩阵”,并勾选认证用户中所有选项。

 

 

4、Jenkins 配置

 

 

1  > 系统配置

① 点击“系统管理” → “系统配置” →“全局属性”模块

 

② 在“全局属性”板块勾选“环境变量”

 

 

另外,在“Jenkins Location ”模块,Jenkins URL最好设置为具体的ip地址,同时配置管理员邮箱

 

 

2  > 全局工具配置

点击“系统管理” → “全局工具配置” 

 

 

配置JDK、Git、Gradle:

 

 

 

 

参考:

Android+Jenkins+Git+Gradle持续集成

Jenkins集成Android工程

Jenkins构建Android项目持续集成之Jenkins的安装篇

Jenkins在Windows下的安装

Jenkins系列教程

手把手教你使用Travis Ci

从GitHub到Travis

 

 

持续集成服务 Travis CI 教程

编写代码只是软件开发的一小部分,更多的时间往往花在构建(build)和测试(test)。 为了提高软件开发的效率,构建和测试的自动化工具层出不穷。Travis CI 就是这类工具之中,市场份额最...