(Mac)Android自动打包(Jenkins+Gradle+pgy)
准备环境
配置Android ADB环境
关于Android整个开发环境的搭建,SDK的下载安装这里就不赘述了,配置adb环境可以参考、
这里查看adb是否配置成功可以在终端输入
1 | adb version |
显示以下信息则证明配置成功
1 | Android Debug Bridge version 1.0.41 |
配置Gradle环境
配置gradle环境可以看一下我之前写的这篇文章Mac 配置gradle环境变量.
这里查看gradle是否配置成功可以在终端输入
1 | gradle -version |
显示如下信息则表示配置成功
下载安装Jenkins
这里有两种方法可以用。参考Mac下Jenkins搭建
Jenkins环境变量的配置
左侧系统管理->系统设置,进入系统设置页面
全局属性下的环境变量,添加键值对
左侧系统管理->全局工具设置,进入全局工具设置页面
1. JDK
JDK installations一栏里面点击Add JDK,Name随便取,不过最好对应好版本号;JAVE_HOME就设置为当前Mac下Java的安装路径。当然也可以设置成自动安装
2. Gradle
gradle配置:一样名字最好跟着版本号,GRADLE_HOME就设置为gradle的安装目录
项目配置
构建一个自由风格的软件项目
点击左侧菜单中的新建任务,然后在新的界面输入项目名字,选择构建一个自由风格的软件项目选项完成创建
项目基本配置
点击左边的配置,从上到下一共6个tab,我们去一一配置自己想要的功能:
General
描述里面我们可以写工程简介
“This project is parameterized”参数化构建
“Discard old builds”丢弃旧的仓库
源码管理
源码管理,使用github选择git,使用svn选择subversion
点击add以后,进入选择身份验证的页面,没有ssh key的,选择用户名和密码,有ssh key的选择ssh验证(注意,这里填写的是private key,id_rsa文件中的key,不是id_rsa.pub中的key),填写完成后,点击add即可完成身份验证的添加。然后选择对应的身份验证
项目的分支,填写你需要的分支
构建触发器
选择Build periodically,输入:
1
H 2 * * *
周期性的执行编译任务,强制每天凌晨两点构建一次
选择Poll SCM,输入
1
H/5 * * * *
表示的就是每5分钟检查一次源码变化。
第一个参数代表的是分钟 minute,取值 0
59;23;
第二个参数代表的是小时 hour,取值 0
第三个参数代表的是天 day,取值 131;12;
第四个参数代表的是月 month,取值 1
最后一个参数代表的是星期 week,取值 0~7,0 和 7 都是表示星期天。
构建环境
这里可以设置一些项目信息,比如在构建之前删除工作目录,设置构建名称等等。。。(但是我没有设置)
构建
增加构建步骤,选择Invoke Gradle script(编译)
- Gradle选择你配置的版本
- Task中填写构建执行的语句(注意:不要选择Use Gradle Wrapper),一般要填写“clean assembleRelease”。先clean再build
1
2clean
assembleReleaseChannels -PchannelFile=markets.txt - 在Root Build script中输入你想要包生成的位置,在Build File中输入项目的build.gradle的路径。即在Root Build script路径的后边加/build.gradle,可以不输入这两项,项目会有个默认构建地址,具体地址可以再jenkins的系统管理中查看。
继续添加构建步骤,选择“Execute shell”,在command中填入(上传蒲公英)
1
2
3
4
5
6
7
8
9./gitswitch dev/ci
cd Source
filepath=`pwd`/app/build/outputs/channels/*pgy*.apk
file=`ls $filepath`
if [ $uploadPgy = true ]
then
curl -F "installType=2" -F "password=alpha" -F "file=@$file" -F "uKey=542e73b113b5908da8b028805bf7e837" -F "_api_key=8e860ee5ba4996f9b19e56c28e07846a" https://qiniu-storage.pgyer.com/apiv1/app/upload
fi
构建后操作
Archive the artifacts(归档成品),输入内容
1 | **/app/build/outputs/channels/*.apk, **/apk-checker-result.* |
上传蒲公英
增加一个构建步骤,选择Execute shell,在command中填入
1 | ./gitswitch dev/ci |
蒲公英官方文档地址https://www.pgyer.com/doc/api#uploadApp
调试
构建历史->控制台输出,可以查看构建日志,根据报错来具体定位问题