找到了不错的攻略:jenkins+github+gradle 实现android自动化打包全攻略(MAC版)。里面也提到了我遇到的各种问题,还是蛮可以的。其中有一个问题就是:不知道为什么我的本地工程目录下没有workspace,如果在jenkins工程的工作区(workspace)找就有,明明步骤一模一样,这个问题没有解决。
==================================================================
更新:
虽然我的问题已经解决了,因为我的workspace是和jobs在同一目录下的。好的,不过上面这个链接介绍并不是特别完整,中间还有一些小细节要注意,所以重新对jenkins的项目进行配置。而这里找到了一个新的链接需学习持续集成打包过程,会比较详细一些,可以二者配合学习:使用 Jenkins 搭建 iOS/Android 持续集成打包平台 (开箱即用)
该平台主要实现的功能有3点:
定期对GitHub仓库进行检测,若有更新则自动执行构建打包;
构建成功后根据ipa/apk生成二维码,并可在历史构建列表中展示各个版本的二维码,通过手机扫描二维码可直接安装对应版本;
在构建结果页面中展示当次构建的成果物(Artifact,如.ipa、.app、.apk、info.plist等文件),供有需要的用户进行下载。
构建时
触发器配置好之后还要配置构建方式。常用的构建方式(已经安装gradle plugin):invoke gradle script,然后采用gradle构建。这种方式虽然操作简单、ui可视化、在场景不复杂的情况下可以快速满足需求,但缺点就是依赖于插件已有的功能,加入场景较复杂可能单个插件还无法满足需求,需要再安装其它插件。而且有些插件可能还存在一些问题,比如对某些操作系统版本兼容不好,出现问题的时候我们会变得被动!
于是这里作者似乎介绍了另一种方法,就是自己编写打包脚本,在脚本中自定义实现所有构建功能然后在execute shell中执行。不过我刚开始用这个还不需要那么复杂,所以我暂且不管,等以后场景比较复杂了再考虑。
注意
文中还有上传到蒲公英或fir上的方法,由这些平台生成二维码,然后还能在Jenkins项目的历史构建列表中展示生成的二维码图片,以后可以尝试。