jenkins打包apk
需求:市场同学通过svn修改动态文件,jenkins同步svn文件,打出对应的包
前提:创建一个svn仓库,本地需要提前checkout这个仓库,里面只提供logo,启动图片,string文件,app中的gradle文件,动态修改配置文件,为了打出不同的长尾包
步骤:*
1.搭建jenkins服务环境
-
下载jenkins.war到本地 到对应的目录下,执行java -jar jenkins.war(localhost默认8080端口,可通过其他命令修改默认端口号) 启动服务之后可在浏览器中查看localhost:8080,获得密码,下载一些插件 在jenkins中的系统管理->全局工具配置中配置jdk路径,配置gradle路径,至此大环境配置完成
2.项目配置
在jenkins首页创建一个新的项目,我临时用的是本地的代码,命名直接用项目所在的文件夹名称,路径在C:\Users\xxx\.jenkins\Workspace\xxx,我使用的是本地的代码库,可以Source Code Management中选择git地址
1)在build下面创建 windows 批处理命令 cd /d D:\dabao\xxx(svncheckout的路径地址)
svn up --username xxx登录名 --password xxx登录密码 //切到svn目录下更新最新的svn文件
2)在build下面创建 windows 批处理命令 copy "D:\dabao\xxx\build.gradle" "C:\Users\xxx\.jenkins\Workspace\xxx\app\build.gradle"
copy "D:\dabao\xxx\strings.xml" "C:\Users\xxx\.jenkins\Workspace\xxx\app\src\main\res\values\strings.xml"
//替换svn里面的资源的到jenkins目录下的项目中
3)invoke gradle script 选择全局配置中的gradle版本 tasks 添加 clean //构建之前先clean一下
4)invoke gradle script 选择全局配置中的gradle版本 tasks 添加 assembleRelease //根据需要的命令构建包
5)在Post-build Actions把apk包输出出来,路径\app\build\outputs\apk\main\release\*_*_V*.apk