Jenkins+Gradle+Github实现Android自动化打包

利用Jenkins搭建Android自动化打包。
参考Jenkins+Git配置和Android使用Jenkins持续集成进行整理。

环境搭建

1.首先到Jenkins官网下载安装Jenkins

选择对应系统的稳定版本,这里装的是Mac版本。


Jenkins+Gradle+Github实现Android自动化打包_第1张图片
Jenkins安装.png
  • 下载完成之后,直接点击安装就可以了。
  • 安装完成之后,在浏览器输入http://localhost:8080/即可打开Jenkins主页。
2.安装插件

可以选择在步骤1安装过程中选择默认的插件安装,也可以在主页系统管理中选择插件管理进行安装。

Jenkins+Gradle+Github实现Android自动化打包_第2张图片
插件管理.png

  • 确保gitgradle等插件已安装完成,这一步很重要,不然后面会找不到配置按钮或导致构建失败。
3.远程代码仓库配置(这里以GitHub项目为例)
  • 在GitHub上创建一个Repositories,将项目拉取到本地,并在此目录下新建一个Android项目。
    Jenkins+Gradle+Github实现Android自动化打包_第3张图片
    GitHub项目.png
4.进入Jenkins主页开始配置
4.1 新建一个任务
Jenkins+Gradle+Github实现Android自动化打包_第4张图片
点击新建任务.png
Jenkins+Gradle+Github实现Android自动化打包_第5张图片
新任务.png
4.2 设置项目配置
  • 配置github项目的URL

Jenkins+Gradle+Github实现Android自动化打包_第6张图片
image.png

这里填入的URL是在GitHub上面的项目拷贝过来的 URL。注意是 URL链接,不是 SSH
Jenkins+Gradle+Github实现Android自动化打包_第7张图片
项目url.png

  • 配置构建参数

配置打包类型,这里的参数对应的是Android项目gradle配置里面的buildTypes设置的打包类型。

Jenkins+Gradle+Github实现Android自动化打包_第8张图片
image.png

  • 配置打包分支

点击Git Parameter(如果没有这个参数检查一下对应的插件是否安装)

Jenkins+Gradle+Github实现Android自动化打包_第9张图片
image.png

输入名称,如 mBranch这个名称后面配置源码管理的时候会用到。
Jenkins+Gradle+Github实现Android自动化打包_第10张图片
image.png

  • 配置源码管理
Jenkins+Gradle+Github实现Android自动化打包_第11张图片
image.png
  • Github利用Webhook实现Push代码之后自动构建
(1) Git配置

在GitHub上找到setting

Jenkins+Gradle+Github实现Android自动化打包_第12张图片
image.png

点击进去 Developer settings -> Personal access tokens
Jenkins+Gradle+Github实现Android自动化打包_第13张图片
image.png

填写token名称,并选中如下的选项
Jenkins+Gradle+Github实现Android自动化打包_第14张图片
image.png

这时得到一个 token,切记保存好,一旦丢失无法找回只能重置或删除了。

(2) 添加Webhooks

在项目下的settings点击进去

Jenkins+Gradle+Github实现Android自动化打包_第15张图片
image.png

配置服务器地址等信息
Jenkins+Gradle+Github实现Android自动化打包_第16张图片
image.png

注意!这里的地址必须是服务器的IP地址,如填写localhost或者127.0.0.1将会导致无法自动构建。详见stackoverflow上的回答
(3) Jenkins上配置

先检查插件Gitlab Hook Plugin是否安装
点击系统管理->系统设置->GitHub->添加GitHub服务器

Jenkins+Gradle+Github实现Android自动化打包_第17张图片
image.png

添加凭据,选择 Secret Text,在弹出的窗口中填入步骤1获取到的 token
Jenkins+Gradle+Github实现Android自动化打包_第18张图片
image.png

回到项目的配置中,勾选上 GitHub hook trigger for GITScm polling
Jenkins+Gradle+Github实现Android自动化打包_第19张图片
image.png

自此完成了自动检测GitHub的 Push提交,自动打包

  • 配置Gradle

Jenkins+Gradle+Github实现Android自动化打包_第20张图片
image.png

task 里面输入我们要执行的命令
assemble$BUILD_TYPE表示打对应类型的apk包

注意!这里要勾选上Pass all job parameters as Project properties表示把你上面的那些参数用来当作gradle构建参数,否则的话是不会起作用的。
  • 配置归档成品

Jenkins+Gradle+Github实现Android自动化打包_第21张图片
image.png

这个路径是apk的输出目录,可以在Android项目中的 gradle文件中进行配置。
Jenkins+Gradle+Github实现Android自动化打包_第22张图片
image.png

自此已配置完成,我们开始来点击构建项目。项目下面点击Build with Parameters,可以看到我们之前设置的配置。打包类型和分支选择。

Jenkins+Gradle+Github实现Android自动化打包_第23张图片
image.png

点击 Build按钮,开始构建。
构建完成之后,可以看到 Last Successful Artifacts下面有一个输出的 apk,这个就是我们刚刚设置的归档成品。这里设置的是输出apk,还可以根据需求,输出其他的内容。
Jenkins+Gradle+Github实现Android自动化打包_第24张图片
image.png

你可能感兴趣的:(Jenkins+Gradle+Github实现Android自动化打包)