本文在MacOs环境下
1.准备工作
-
检查Android打包所需的环境变量
在终端输入
open .bash_profile配置环境变量(jdk、sdk、gradle)配置完可使用
java -versiongradle -v检查是否配置成功
2.全局工具配置
- 进入Jenkins,配置jdk
- git
- gradle(可指定离线目录或自动安装)
3.系统配置
- 系统配置里-增加Android环境变量
4.新建任务
到这一步,基础的环境就配置完成了,新建一个** 自由风格的软件项目 **
5.主要任务配置
- 添加远程仓库地址,并指定默认分支
对git添加凭证时若选择 ** SSH Username with private key ** ,在远程仓库增加** 公钥 ** ,jenkins此处是增加 ** 私钥 **
如果你的远程仓库有关联submodule的情况,在额外行为中增加** 高级的子模块行为 **
- 添加gradle插件
在** 构建 ** 里勾选之前全局配置的gradle插件,并添加任务
至此Android自动打包的主流程就完成了,可以将tasks只保留clean后执行build操作,查看配置是否执行成功。
6.其他任务配置
- 参数化构建
在** General ** 里增加自定义参数化构建过程,例如 APP_VERSION BUILD_TYPE IS_FROM_JENKIN MSG等
注意,如果增加的构建过程需要更改gradle参数 ,例如增加:
需要在代码
gradle.properties中增加相同名称的值
并在** Jenkins配置页面 ** - ** 构建 ** - ** Invoke Gradle script**(也就是上面增加gradle插件的地方) - ** 高级 ** - 勾选 ** Pass all job parameters as Project properties ** 。这样我们就可以使用这个值去做一些操作,例如区别包名
-
构建触发器
有时我们需要定时执行任务
-
上传蒲公英
在** 构建 ** 中新增 ** 执行Shell**, 命令参考蒲公英官网给出的集成文档
curl -F "file=@/tmp/example.apk" -F "uKey=" -F "_api_key=" https://qiniu-storage.pgyer.com/apiv1/app/upload这里文件路径前不要忘记符号
@
7.其他问题
以上就是Android使用Jenkins自动化打包的简单教程。如果碰到其他gradle引发的诡异问题,可以在tasks中使用-stacktrace输出异常。如果异常复杂难以解决,可以勾选 ** General ** - ** 高级 ** - ** 使用自定义工作空间 ** ,指定Jenkins仓库的默认路径到指定路径,然后使用As打开代码,在Terminal执行相同指令,查看异常