记录一下Jenkins实现Android自动化打包的过程,方便日后查阅。
一、前言
在App开发测试过程中,经常需要重新打包,每次给测试发送apk文件,开发麻烦,测试也麻烦。
通过Jenkins自动化构建打包,并自动上传到蒲公英等分发平台,测试就可以直接扫码下载了,提高了开发测试效率。
本文主要是面向Android开发者的,如果你是测试人员,有不懂的建议寻求Android开发人员的帮助。
二、准备工作
系统环境:win10系统
1、安装Git并配置环境变量
2、安装JDK并配置环境变量
JDK下载地址https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html
具体步骤请百度。
3、安装Gradle并配置环境变量
Gradle下载地址https://services.gradle.org/distributions/
选择all.zip结尾的文件下载,我下载的版本是gradle-5.4.1-all.zip,下载完解压,然后就bin目录配置到环境变量path里面。
这里不细述,详情请百度。
4、Android SDK下载,并配置环境变量
Android Studio下载地址https://developer.android.google.cn/studio/
这里推荐直接下载Android studio,安装的时候有个选项会让你下载SDK。具体步骤请百度。
5、环境变量检查
(1)Git 环境变量检查
git --version |
输出成功则表示安装配置正确,否则安装配置有问题
(2)JDK 环境变量检查
java -version |
输出成功则表示安装配置正确,否则安装配置有问题
(3)Gradle 环境变量检查
gradle -v |
输出成功则表示安装配置正确,否则安装配置有问题
(3)Android SDK 环境变量检查
adb version |
输出成功则表示安装配置正确,否则安装配置有问题
三、Jenkins下载与安装
1、Jenkins下载安装
下载地址https://www.jenkins.io/download/
选择windows版本下载就行,左边是稳定版,右边是开发版,自行选择。
下载结束后,将压缩包解压,然后安装,一直点下一步就行。
2、Jenkins初始化
(1)浏览器访问http://localhost:8080/
按照提示输入初始密码,点击继续
(2)选择安装插件,然后等待(时间较长)安装完成之后,配置用户名、密码等信息,就可以使用了。
3、修改默认端口号
Jenkins默认端口号为8080,有时会与其他服务端口冲突,可以把默认端口号改下。
进入Jenkins安装根目录,找到jenkins.xml文件,用记事本打开文件,搜索httpPort,httpPort后面的8080就是端口号,这里我改成了8081,保存之后,Jenkins主页地址为http://localhost:8081/
4、Jenkins常见命令
(1)启动Jenkins服务
net start jenkins |
(2)关闭Jenkins服务
net stop jenkins |
(3)重启Jenkins服务
四、Jenkins环境配置
输入上一步骤配置好的用户名密码登录进去,就进入Jenkins了。
1、安装插件
![](/archives/2895a1e7/one.png)
点击[系统管理]—>[插件管理],进入插件安装页面,点击[可选插件],在搜索框内输入关键词搜索插件,勾选需要的插件,点击[直接安装],等待安装完成即可。
![](/archives/2895a1e7/2.png)
初始化的时候已经安装好大部分插件了,这里需要另外安装一个叫Git Parameter的插件,如果在可选插件里面搜索不出来,应该是已经安装了,就不用再安装了。
2、全局工具配置
点击[系统管理]—>[全局工具配置],进入全局工具配置页面
![](/archives/2895a1e7/3.png)
(1)JDK配置
![](/archives/2895a1e7/4.png)
别名随便填,下面的JAVA_HOME填你的jdk安装目录
(2)Git配置
![](/archives/2895a1e7/5.png)
别名随便填,下面的路径填你的git.exe路径
(3)Gradle配置
![](/archives/2895a1e7/6.png)
别名随便填,下面的路径填你的Gradle安装目录
3、系统配置
点击[系统管理]—>[系统配置],进入系统配置页面
![](/archives/2895a1e7/7.png)
(1) 环境变量配置
找到[全局属性],勾选[环境变量]选项,点击新增,增加两个键值对
ANDROID_HOME,值为sdk路径
GRADLE_USER_HOME,值为gradle路径
![](/archives/2895a1e7/8.png)
(2)Shell环境配置
找到Shell配置,值为git安装目录下sh.exe文件路径
![](/archives/2895a1e7/9.png)
五、创建Android打包任务,并上传至蒲公英
1、新建任务
(1)打开Jenkins主页,点击左侧[新建任务]
![](/archives/2895a1e7/11.png)
(2)选择构建自由风格的项目,输入任务名,然后点击确定
![](/archives/2895a1e7/10.png)
2、General模块配置
进入配置页面后,找到[General]配置模块下的[This project is parameterized]选项,并勾选,点击添加参数
![](/archives/2895a1e7/12.png)
(1)打包类型参数配置
先选择[Choice Parameter]参数添加,名称为build_type,选项为Debug和Release
![](/archives/2895a1e7/13.png)
(2)打包git分支参数配置
继续添加参数,选择[Git Parameter]参数,名称为branch,参数类型选分支(根据自己的需求选择)
如果找不到[Git Parameter]选项,需要去[管理插件]页面,安装Git Parameter插件
![](/archives/2895a1e7/14.png)
2、源码模块配置
(1)git仓库地址配置
找到[源码管理]配置模块,选择[Git],[Repository URL]输入你的git仓库地址
![](/archives/2895a1e7/15.png)
(2)git仓库账号密码配置
点击[Credentials]右侧的[添加按钮],添加git仓库的账号密码
![](/archives/2895a1e7/16.png)
选择[用户名和密码]选项,输入[用户名],[密码],点击添加
![](/archives/2895a1e7/17.png)
回到[源码管理]模块,[Credentials]选择刚刚添加的账号密码
(3)打包git分支配置
[指定分支]里面输入${branch} ,其中“branch”为[General模块配置]的打包git分支参数
![](/archives/2895a1e7/18.png)
3、构建模块配置
找到[构建]模块,点击增加构建步骤,选择[Invoke Gradle script]
![](/archives/2895a1e7/19.png)
勾选[Invoke Gradle]选项,[Gradle Version]选择之前配置的Gradle版本,[Task]输入”clean assemble${build_type}”,其中build_type为[General模块配置]的打包类型参数
![](/archives/2895a1e7/20.png)
4、构建后操作模块配置,上传至蒲公英
找到[构建后操作]模块,点击新增步骤,选择[Upload to pgyer with apiV1],如果没有这个选项,需要先去[插件管理]页面安装upload to pgyer插件
![](/archives/2895a1e7/21.png)
[pgyer uKey]必填,值为蒲公英user_key
[pgyer api_key]必填,值为蒲公英api_key
[scandir]必填,值为apk相对路径,${WORKSPACE}表示项目根目录,${}可以引用前面定义的参数,每个人项目可能路径略有不同,根据自己项目apk路径调整
${WORKSPACE}/app/build/outputs/apk/${build_type}/ |
[file wildcard]必填,值为apk文件名,支持通配符
*.apk |
[installType]选填,应用安装方式,值为(1,2,3),1:公开,2:密码安装,3:邀请安装,默认为1公开
[password]选填,设置App安装密码,如果不想设置密码,请传空字符串,或不传。
[updateDescription]选填,版本更新描述
![](/archives/2895a1e7/22.png)
5、配置完毕后,点击保存
六、执行打包任务
1、进入Jekins主页,点击创建的任务,任务详情页
![](/archives/2895a1e7/23.png)
2、点击左侧的[Build with Parameters],选择构建参数,这个两个参数,就是之前配置的参数,一个打包类型,一个是git分支,选择完点击开始构建
![](/archives/2895a1e7/24.png)
3、查看控制台输出
点击左侧的正在构建的任务,进入详情
![](/archives/2895a1e7/25.png)
点击左侧的[控制台输出],即可查看控制台日志
![](/archives/2895a1e7/26.png)
七、结语
第一次安装还是有些坑的,但是网上相关资源还是挺多的,遇到问题搜索一下,一般都能找到解决办法。
感谢网络的帮助,因此也记录一下过程,反哺一下网络,方便自己查阅,也为后来人提供一些参考。