一般我们在使用jenkins编译android 或者IOS app时只会保留对应的软件包,比如apk或者ipa等。
收集编译成果物(Artifacts)
每次完成构建后,编译生成的文件较多,但是并不是所有的文件都是我们需要的。
通常情况下,我们可能只需要其中的部分文件,例如.ipa/.app/.plist/.apk
等,这时我们可以将这部分文件单独收集起来,并在构建页面中展示出来,以便在需要时进行下载。
要实现这样一个功能,需要在【Post-build Actions】
栏目中新增Archive the artifacts
,然后在Files to archive
中通过正则表达式指定成果物文件的路径。
设置完毕后,每次构建完成后,Jenkins会在Console Output
中采用设定的正则表达式进行搜索匹配,如果能成功匹配到文件,则会将文件收集起来。
这样编译成功后就可以看到apk文件了,方便下载
可是如果我们的app是混淆过的,我们在发布版本后收集的log是混淆的,这时候我们就需要使用到mapping文件。虽然我们可以到服务器上去scp对应的mapping文件,可是这样比较麻烦,如果我们能让mapping文件和apk文件同时显示在jenkins上就好了。通过查找资料,发现可以实现
我们可以使用逗号(,)来添加多个正则表达式来匹配文件 e.g. target/*.jar, target/*.war
.
下面是我的例子
参考资料:http://stackoverflow.com/questions/32823684/jenkins-multiple-artifacts-for-the-same-build