移动端Jenkins持续集成攻略(3)

前一篇讲了iOS的持续集成,虽然fastlane工具集也有支持Android的部分,但力度明显不及iOS强大。更何况,Android有gradle这样的脚本话工具,何须第三方?

Gradle

关于gradle,这里就不多介绍了,相信Android开发都比较熟悉了,gradle默认为开发者设置好了很多清理、打包、测试的任务(clean、assemble、test等),我们只需要配置好Jenkins就行了。

首先确保Jenkins已经安装了这三个插件:
移动端Jenkins持续集成攻略(3)
移动端Jenkins持续集成攻略(3)

其中第一个Gradle Plugin是执行gradle的插件,第二个Android Lint Plugin是代码覆盖率检查插件。第一个是必要插件,第二个是选装插件。

第二步,确认系统已经安装了Android SDK 以及 Android NDK。在Jenkins中,选择 系统管理->系统设置 ,找到全局属性,添加两个属性:ANDROID_HOME、ANDROID_NDK_HOME
移动端Jenkins持续集成攻略(3)

第三步,去到 系统管理->Global Tool Configuration,找到Gradle,添加一个需要的gradle版本:
移动端Jenkins持续集成攻略(3)

第四步,添加一个新的项目,步骤参照iOS项目的配置,需要修改的地方有两个:一个是构建操作
移动端Jenkins持续集成攻略(3)
因为iOS构建用的是fastlane,而Android用的是gradle。因此,在Android的构建部分,我们新建一个Invoke Gradle script,选择刚才在gradle设置中添加的grad 了版本,在Task 中,添加我们需要执行的gradle任务。

之后添加一个构建后操作Archive the artifacts,存储打包好的apk:
移动端Jenkins持续集成攻略(3)

完成之后,执行一次构建,看看结果:
移动端Jenkins持续集成攻略(3)
可以看到大量的gradle的输出

单元测试

Android的单元测试,相信大家已经很熟悉了,gradle默认添加了执行单元测试的任务,因此,我们只要配置好Jenkins,就可以在构建过程中,添加单元测试。
首先,在插件管理中添加JUnit Plugin插件:
移动端Jenkins持续集成攻略(3)

然后,为了在Jenkins里看到单元测试报告,我们还需要添加一个构建后操作:
移动端Jenkins持续集成攻略(3)

为了测试效果,我们在Android测试项目中添加一个测试类,并故意设置三个方法测试结果为失败:
移动端Jenkins持续集成攻略(3)
其中,substract、divide、multiply都没有具体实现,因此测试断言肯定返回false。

然后,我们回到Jenkins,进行一次构建,只要JUnit配置正确,在结果页面中,我们能看到测试结果TestResult:
移动端Jenkins持续集成攻略(3)
移动端Jenkins持续集成攻略(3)

后记

关于移动端的持续集成就讲到这里,今后再有什么补充会随时更新,希望对大家有帮助。