jenkins构建Android自动化打包

前言

  为什么要弄jenkins自动化打包,其一,使用jenkins自动打包是在服务器上进行的,不占用自己电脑的资源;其二,简化流程,比如没用jenkins之前,我们要将包放到蒲公英上,需要先打包,然后再到蒲公英上上传应用,巴拉巴拉一大推流程,但是使用jenkins配置构建job,我们就可以不用关心上面的这一系列流程,它会帮助我们自动完成构建,上传等操作。

配置流程

安装jenkins

  笔者是mac os的系统,安装jenkins可以使用如下的命令进行。

1
$ brew install jenkins

  或者你也可以到jenkins的官网上下载,然后进行安装,是一样的。

配置job

  这里我就不细说jenkins的安装过程了, 比较简单,在下载插件的时候,如果不明确的知道自己需要哪些插件,可以选择推荐的插件安装就可以了,一般我们需要用到的都会有。

新建job

  在dashboard界面,我们选择New Item选项,如下图所示。
001
  然后输入job名称,选择Freestyle project,然后点击ok就可以了。
002

配置源码

  在新建完成job之后,我们会进入到job的配置界面,然后第一步,我们需要配置构建的源码来源,这里笔者是使用git版本管理工具的,首先切换到Source Code Management。
003
  然后选择Git,输入Git仓库地址,如下所示。
004
  因为jenkins需要从git仓库中pull代码,然后进行构建,所以我们需要将git的ssh的私钥配置在jenkins上,以便job可以成功的从远程仓库拉取代码。如下图所示,这里需要选择SSH Username with primary key,然后将私钥配置在primary key里面。
005

配置gradle

  配置完源码来源后,我们将tab切换到build下面,来配置gradle的一些信息。
006
  默认情况下,jenkins是没有下载gradle的,我们可以配置命令自动进行下载,也可以在全局设置中先下载,然后在上面的配置界面中选择已有的gradle版本进行构建。
007
008
  这里记得勾选自动下载。

上传蒲公英

  笔者这边以蒲公英做示例,首先我们需要到插件管理下面下载”Upload To Pgyer”插件。
009
010
  因为笔者这里已经是安装了这个插件的,实际上安装的时候是在available下面进行搜索安装的。
  下载完成插件,我们再回到job的配置界面,选择Post-build Actions,表示在构建完成后做什么事情。然后添加action,选择upload to pgyer,笔者这里选择的是with api2,需要配置pgyer api_key,这个可以在蒲公英的用户账号设置里面找到。
011
012

运行job

  上面的配置基本上完成了一大半,剩下的就是在构建的过程中进行填坑了。通过Build Now,我们新建一个构建任务。
013
  通过console我们可以看到,没有找到sdk,我们可以通过local.property或者是指定一个ANDROID_HOME的环境变量。这里笔者选择了后者。
014
015
  添加完环境变量之后我们再次运行。依旧是构建失败,这次log中提示找不到配置的ANDROID_HOME对应的目录。
016
  但是实际上这个目录是存在的,于是笔者怀疑应该是目录访问权限限制了。于是乎去对应的路径下修改了权限。chmod命令我就不多说了。修改完访问权限,我们再次构建job就成功了。
017

扩展

构建参数

  上面只是完成了一个job的简单配置,我们构建命令也只是简单的使用了assembleRelease。显然这是不够的,比如我们现在项目中配置了很多的渠道,或者buildTypes,这个时候我们想要打某个渠道的包,或者某个buildType的apk包那该如何是好?
  在job的的配置界面第一个tab下,勾选this project is parameterized,如下所示,这里笔者选择choice parameters。
018
  然后我们增加两个参数选择,一个debug,一个release,如下所示。
019
  别忘了还需要修改gradle的构建命令,和配置的参数相关联。
020
  然后我们再来看看Build Now,这里变成了一个可选择的。
021

触发器

  构建触发器是指什么时候进行构建,比如我们可以指定当源码更新的时候就出发构建;或者是在每天的凌晨两点开始构建等等,这就是构建触发器。在job的配置界面,我们可以看到第三个tab,Build Triggers。
022
  比如我们这里配置每天凌晨两点钟构建一次,可以配置成如下的样子。
023
  具体的参数配置可以参考jenkins定时任务的官方文档说明。

本文标题:jenkins构建Android自动化打包

文章作者:严方雄

发布时间:2018-11-20

最后更新:2018-11-20

原始链接:http://yanfangxiong.com/2018/11/20/jenkins构建Android自动化打包/

0%