Jekins+Gradle最佳实践
本文是Jenkins+Gradle打包apk的最佳示例,鉴于网上的各种教程存在的问题和坑,所以记录一下搭建过程和使用时候存在的坑。
文中用到的gradle相关配置示例 gradle配置
Note:下载列表的最后一个是war包,可以直接部署到tomcat无需安装
本文基于Windows,Jenkins为安装版
2.下载安装后可以在浏览器打开:http://localhost:8080/jenkins
如果在服务器环境下8080端口很可能是被web项目占用,可以通过修改Jenkins安装目录下的jenkins.xml文件,修改httpPort后的端口号 如果使用的是war包部署,端口号就和tomcat一样了
需要安装的列表(注意搜索的时候大小写和空格):
- Date Parameter Plugin
- build-name-setter
- description setter plugin
- Environment Injector Plugin
先看一下gradle的输出apk脚本,主要内容就是判断是否由Jenkins构建,如果是那就根据对应参数生成apk到对应目录,否则正常输出到本地apk目录
填写构建参数,注意Choice Parameter,String Parameter,Date Parameter ,如果发现没有Date Parameter请回到第七步安装好插件
这里的choices是根据gradle的productFlavors而定,请注意第一个字母要大写,具体请参考示例gradle 示例gradle点击跳转
这个参数是输出后的apk文件名组成,建议和构建平台一致,注意字母大小写
其中空格是为了需要输出所有渠道apk时候需要的
clean assemble'${PRODUCT_FLAVOR_BUILD}''${ENVIRONMENT_TYPE}' 这段动态脚本相当于 clean assembleOfficalRelease
所以应该明白为什么PRODUCT_FLAVOR_BUILD配置的第一个英文要大写了
由于由于gradle打包也会引用jdk,所以在打包的时候会消耗比较大的资源,建议将Jenkins配置在服务器,这样在打包的时候就不会影响开发,同时也可以随时随地在其他地方进行打包,不需要依赖发开环境
在windows系统中,由于对文件路径有长度限制,256个字节,如果图片的路径长度超过了这个限制,就会报这个错误
解决办法:在gradle.properties指定cache路径