使用Jenkins搭建Android自动化打包服务教程

时间:2024-03-21 14:15:52

最近在进行工作交接,趁这个机会把以前做过的一些东西整理一下,这篇文章主要是详细介绍使用Jenkins搭建Android自动化打包服务,共分为三部分:

1、搭建开发分支上的自动化构建任务。

2、搭建主干上一键创建TAG的任务。

3、搭建使用主干TAG构建发布版APP的任务。

一、Jenkins下载安装

    进入官网下载页面,如下图,有LTS和Weekly两种版本,选择哪个都可以,我这里选择LTS(相对Weekly应该更稳定),根据自己的安装环境选择下载即可。下载完成后,解压得到jenkins.msi文件,双击安装,安装完成后,会自动启动Jenkins服务,自动打开浏览器,进入http://localhost/8080页面。待Jenkins服务启动完成,会让我们创建一个管理员账户,然后安装一些插件,直接选择推荐安装的插件即可。最后应该会进入让我们创建一个任务的页面(由于我已经安装完成,有些截图就跳过了,应该不会影响理解)。

使用Jenkins搭建Android自动化打包服务教程使用Jenkins搭建Android自动化打包服务教程

二、安装Git/SVN和Gradle

    在进入正式搭建之前,还要确保我们已安装好版本控制工具Git或SVN,以及Android编译工具Gradle(现在ant打包方式已经淘汰了吧)。

    版本控制工具的安装很简单,已Git为例,去官网地址下载,安装,然后将安装目录下的bin目录配置到环境变量path中如下:

使用Jenkins搭建Android自动化打包服务教程使用Jenkins搭建Android自动化打包服务教程

然后打开Jenkins首页,点击“系统管理”-“系统设置”,找到Git Plugin项,填入一个name和email,这个是Jenkins在使用git客户端访问库时要使用的,使用过git的你肯定明白,这个name和email可以随意:

使用Jenkins搭建Android自动化打包服务教程

    再说Gradle,项目中现在用的是gradle-4.2,所以我这里也下载了一个gradle-4.2的离线包gradle-4.2-all.zip,解压后,将解压后的文件目录配置到Jenkins上,打开Jenkins首页,点击“系统管理”-“全局工具设置”-找到gradle项,填入gradle的解压目录如下:

使用Jenkins搭建Android自动化打包服务教程

三、搭建开发分支上的自动化构建任务

    在上面的提示我们创建一个任务的页面,输入我们第一个任务名称“easyxue_debug”,然后选择“构建一个*风格的软件项目”,进入详细配置页面:

    配置任务描述

使用Jenkins搭建Android自动化打包服务教程

    配置Git信息,这里我使用的http方式,所以创建Credentials时,只需要填写登录远程库的用户名和密码即可(如果使用SSL方式,需要填写秘钥)。再就是在Branches to build中我填写是开发分支,我们的开发分支名称是“dev”。

使用Jenkins搭建Android自动化打包服务教程

    没有Credentials,点击add创建:

使用Jenkins搭建Android自动化打包服务教程

    填写登录远程库的用户名和密码,并保存:

使用Jenkins搭建Android自动化打包服务教程

    选择刚才创建的Credentials:

使用Jenkins搭建Android自动化打包服务教程

    接下来配置触发器,我们这里的设置意思是每个5分钟检查一次远程源码是否有变化,如果有变化则进行一次自动化构建:

使用Jenkins搭建Android自动化打包服务教程

    接着配置构建信息,主要选择使用的gradle版本,前面我们已经配置过gradle-4.2,所以这里可以直接选择;然后配置gradle命令,这里设置命令为clean build;在就是说明下Build File项目填写的内容,build_debug.gradle文件是我们用于构建debug包的gradle脚本文件,位于项目根目录下,配置如下:

使用Jenkins搭建Android自动化打包服务教程

    最后配置构建后生产的文件名称,配置完成后,保存,至此就完成了easyxue_debug自动化构建任务的搭建:

使用Jenkins搭建Android自动化打包服务教程

四、搭建主干上一键创建TAG的任务。

    回到Jenkins的首页,点击“新建”,创建一个新的任务,填入“easyxue_tag”,然后选择“构建一个*风格的软件项目”,进入详细配置页面:

    先设置任务描述,这里我勾选丢弃旧的构建,在这个构建TAG的任务中,这个设置时没必要的,请忽略,如果你在别的任务中需要这样的功能,也可以设置:

使用Jenkins搭建Android自动化打包服务教程

    配置构建参数:

使用Jenkins搭建Android自动化打包服务教程

    配置Git信息,这里使用的是主干,所以Branches to build想填写的是“*/master”:

使用Jenkins搭建Android自动化打包服务教程

    最后配置构建TAG时的信息,“Tag to push”项指生成名字如“NEW_TAG_3”的tag,名字中最后的数字会自增;“Tag message”中的设置指的是将前面配置的构建参数“TagDesc”的值作为构建TAG的message信息;最后“Target remote name”中的值对应我们在“源码管理”项下“Repositories”下的“name”中的值;到此,我们的一键自动化构建TAG的任务就搭建完成了。

使用Jenkins搭建Android自动化打包服务教程

五、搭建使用主干TAG构建发布版APP的任务

明天再来补...

补上最后一步...

    回到Jenkins首页点击“新建”,进入创建任务的页面,输入我们第一个任务名称“easyxue_release”,然后选择“构建一个*风格的软件项目”,进入详细配置页面:

使用Jenkins搭建Android自动化打包服务教程

使用Jenkins搭建Android自动化打包服务教程

    输入任务描述,在设置两个任务执行参数,第一个是输入本次构建要是用的TAG,这个TAG即为easyxue_tag任务下一键生成的(当然也可以是我们自己通过git打的tag),第二个是提示选择用于本次构建的配置文件,不选择的话,则使用默认值:

使用Jenkins搭建Android自动化打包服务教程使用Jenkins搭建Android自动化打包服务教程

    源码管理,输入远程库地址,选择Credentials,注意在Branches to build项中输入$TagName,对应上一步中配置的参数名称,意思是使用用户输入的TAG进行构建:

使用Jenkins搭建Android自动化打包服务教程

    再就是选择Gralde版本,设置编译命令clean build,再设置我们使用的gradle脚本文件为项目根目录下的build_release.gradle文件:

使用Jenkins搭建Android自动化打包服务教程

    最后配置文件归档信息并保存配置:

使用Jenkins搭建Android自动化打包服务教程

    至此,搭建使用主干TAG构建发布版APP的任务就完成了。

六、使用

    先说easyxue_debug任务的使用,在Jenkins首页,点击下图的“easyxue_debug”:

使用Jenkins搭建Android自动化打包服务教程

    进入到easyxue_debug任务详情页,本任务的构建是由Jenkins轮询检测git远程库的变化自动触发的,也可以由我们点击左侧“立即构建”手动触发;在左下角“Build History”可以查看正在构建和构建完成的任务(红色为失败,蓝色为成功),点击如图中的已构建成功的任务“#18”:

使用Jenkins搭建Android自动化打包服务教程

    进入“#18”任务的详情页,可以看到编译出了两个apk包(这两个包的签名情况是根据gradle配置文件来的),也可以看到最近一次的git日志及git分支信息:

使用Jenkins搭建Android自动化打包服务教程

    再说easyxue_tag任务的使用,在Jenkins首页,点击“easyxue_tag”,进入任务详情页:

使用Jenkins搭建Android自动化打包服务教程

    进入到easyxue_tag任务详情页,在左下角“Build History”可以查看正在构建和构建完成的任务(红色为失败,蓝色为成功);点击左侧“立即构建”进入生成TAG的任务配置页面:

使用Jenkins搭建Android自动化打包服务教程

    在任务配置页面,可以输入本次要生成的TAG的描述,然后点击开始构建:

使用Jenkins搭建Android自动化打包服务教程

    回到easyxue_tag的任务详情页,点击左下角已完成的构建任务“#4”,进入本次构建任务的详情页:

使用Jenkins搭建Android自动化打包服务教程

    在“#4”任务的详情页可以看到最近一个git日志,进git分支信息。需要注意的是,“#4”所生成的TAG名称为“NEW_TAG_4”,至于怎么生成的,看到前面第四步的任务配置过程,应该会明白。

使用Jenkins搭建Android自动化打包服务教程

    最后再来说“easyxue_release”任务的使用,在Jenkins首页,点击“easyxue_release”,进入任务详情页:

使用Jenkins搭建Android自动化打包服务教程

    在任务详情页,点击左侧的“Build with Parameters”,进入任务构建配置页面:

使用Jenkins搭建Android自动化打包服务教程

    在任务构建配置页面,输入构建要使用的TAG,以及配置文件,点击开始构建,开始打包;构建进度以及构建历史,可以在左下角的“Build History”中查看,点击已完成的构建任务“#5”,进入“#5”任务详情页:

使用Jenkins搭建Android自动化打包服务教程使用Jenkins搭建Android自动化打包服务教程

使用Jenkins搭建Android自动化打包服务教程

    在“#5”任务详情页,可以看到生成的两个apk包,以及最近一次git日志,TAG信息等。下载需要的apk包,加固,发布。

使用Jenkins搭建Android自动化打包服务教程