- Jenkins如何搭建这边不讲了,因为好多文章,搭建还是非常的容易的,这边文章主要是讲如何打多环境包,并且Apk的名称也会跟着环境的改变而改变
- 1、Jenkins如何自动化构建安卓包
-
Jenkins通过配置的Git账号,去获取Git上的代码,从而获取到Tag(tag是跟随着分支的,所以不管在那个分支,只要有Tag,就能够获取正确的代码)
Tag -
获取到代码,然后通过gradle打包,注意gradle最好和本地一样
gradle配置 - 执行shell命令去改变安卓工程的
config.properties
从而改变项目去的域名地址,从而能够构建多渠道包的
shell命令 - 最后上传蒲公英,
pgyer api_key
蒲公英的key,file wildcard
apk生成的文件夹
-
最后就可以开始构建了
-
2、一些必须知道的知识
-
一般我们会在
image.pngapp build.gradle
的文件中去配置signingConfigs
,而且这是必须配置的,要不然打Debug会报错
-
当然我们在开发过程中,为了区分Debug包和正式包,我们也会配置
debugresValue "string", "app_name", "apk名称"
,为了动态的修改Apk的名称跟随着环境改变而改变,
release
-
generateApk(variant)
方法功能是给A指定输出的路径,如果不配置的话Apk输出的路径的话会发生什么?
打正式包会在app目录下生产release文件下生成app-release.apk! 打debug包会在app目录下生产debug文件下生成app-debug.apk
图例
如果是多渠道的包的话,会生成app+渠道名称+release/debug+..apk
多渠道
-
3、Jenkins打包完成后上传蒲公英的问题?
我们知道这个路径地址是在jenkins中配置了file wildcard
,而且这个只能配置一个Upload to pgyer with apiV2
,如果配置多了,肯定就会出现构建失败,准确的讲是上传失败,因为这个上传地址是固定的,但是正式包和debug的输出路径不一致,So??? -
把正式包和测试包构建在同一个目录下面,ok!开干。。。输出到app/apk
路径下
测试包和正式包在同一目录下
发现问题了么??
- 每次构建成功的时候包都会保留,那么jenkins知道上传那个包呢?
- 如果把构建成功的包丢在build的文件夹下,由于每次构建都会把build文件夹下的文件全部清除
ok,就这么干,把正式包和debug包都输出到这个目录
目录"/app/build/apk/outputs
下
-
4、查看日记并且获取蒲公英的地址
最后的成功1
网友评论