介绍
我们采用最简单的配置方式,实现了app的编译打包。
可以参考:JenKins 实战-首次从Git上获取代码并编译打包Android apk (zinyan.com)
我们如果有不同的渠道包时,该如何配置呢?
本篇主要用来介绍如何通过JenKins,让测试人员打包时。可以自己选择不同的渠道包。
方法很简单,适合刚接触jenKins配置的小伙伴。
1. 配置不同渠道包
需要JenKins支持不同渠道包,那么我们首先需要在android项目的build.gradle中配置好不同的渠道。
示例:我们创建了多个不同的渠道。
productFlavors{
qudao1{
}
qudao2{
}
qudao3{
}
}
我们首先自己能够通过AndroidStudio 进行打包不同的渠道包。然后将build.gradle 上传到git仓库。
这样jenkins通过git拉取代码和配置的时候就能自动拉取到了。(我的示例中,不用配置app签名,就是因为我的签名也在整个项目代码中了。)
渠道包配置成功后,我们可以通过右侧的Grdle面板上看到
在assemble 后面有不同的渠道包的构造。
其实jenkins 也是通过调用该脚本进行gradle编译app的。
2.配置Jenkins
我们只需要在General
面板中,添加一个ChoiceParameter
(菜单选项)
2.1 添加ChoiceParameter 菜单选择
示例:
我们创建一个名称叫:PRODUCT_FLAVORS
的变量。
然后他的变量类型为ChoiceParameter
。
下面的描述,我们可以随意进行发挥填写,你可以介绍上面的选项。
2.2 使用Parameter选择值
我们上面配置的菜单项,当我们进行构造编译时,Jenkins
会弹出界面,让我们选择上面配置的PRODUCT_FLAVORS
的值。然后将我们配置的选项值赋值给PRODUCT_FLAVORS
对象。
例如我们如果选择qudao1
那么结果就是:PRODUCT_FLAVORS=qudao1
我们之后就可以在jenkins上使用这个变量了。
在构建模块中的脚本上使用:
app:clean app:assemble${PRODUCT_FLAVORS}
效果图如下:
这样当我们使用Jenkins 构造app的时候, 就可以动态的选择构造不同的渠道包了。
我们如果是有注意到AS上的Gradle 会发现assemble后面的渠道首字母是大写的。而我们在上面配置choiceParameter是小写的,会不会出现找不到呢?--放心,不会找不到,亲测。
最后,我们需要配置默认的app存储文件。也一样使用PRODUCT_FLAVORS
。
因为build/outputs/apk/xxxx(这个地方就是渠道名)/release/*.apk
示例:app/build/outputs/apk/${PRODUCT_FLAVORS}/release/*.apk
效果图:
我们配置完毕后。在构造项目的时候。
都会出现下面的界面:
让我们选择配置的PRODUCT_FLAVORS
。我们只有选择完毕后,才能够进行构造。
3.查询构造结果
我们如果给JenKins 添加了Parameters配置项之后。
每一次构造打包编译成功后,我们都可以通过 Parameters菜单,看到当初构造的时候选择的配置。
4. 其他
我上面的示例中,直接会打包debug 和release 两个apk。如果不想打包两个出来的话。我们需要在脚本中添加release或Debug就可以了。
app:clean app:assemble${PRODUCT_FLAVORS}Debug
//只打包debug
app:clean app:assemble${PRODUCT_FLAVORS}Release
//只打包Release 版本
我们在Parameter的基础上,可以实现更多的效果。例如直接修改build.gradle里面的参数值。
看我之后的文章介绍吧。
本篇内容就到这里
评论区