jenkins 集成gradle自动打apk无法输出构建历史 No artifacts found that match the file pattern, Configuration error?

在使用Jenkins集成Gradle自动打包APK时遇到一个问题,即构建成功但无法输出APK到指定路径,显示为配置错误。经过排查,问题出在build.gradle文件中缺少必要的配置。需要在buildtype的属性中添加fileName,用于指定打包后的APK文件名。正确配置fileName并调整Jenkins设置后,成功解决了无法生成构建历史的问题。

Build step 'Invoke Gradle script' changed build result to SUCCESS

Archiving artifacts

ERROR: No artifacts found that match the file pattern "\\*********\apkpkg\*.apk". Configuration error?

ERROR: '\\1*******\apkpkg\*.apk' doesn't match anything: '' exists but not '\\********\apkpkg\*.apk'

Build step 'Archive the artifacts' changed build result to FAILURE

Finished: FAILURE



Archive the artifacts这里面填了**/*.apk,或者百度上一些其他的配置,最后总是导致,明明构建成功了,却没办法在指定的地方输出apk。很恼火,最后经过了一翻折腾,最后发现我们还要在build.gradle文件中去设置一些配置项。最后才可以直接走通


不废话。直接上成功图。



------------------------------------------------------------------------------------------------------------------------我是分割线-----------------------------------------------------------------------


在你的build的文件中,有一个buildtype的属性,要在这里配一点东西。。



 applicationVariants.all { variant ->
                variant.outputs.each { output ->
                    def apk = output.outputFile
                    if (apk != null && apk.name.endsWith('.apk')) {
                        def fileName = "cmfchina_v${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk"
                        output.outputFile = new File(apk.parent + "/package", fileName)
                    }
                }
            }


在android{}节点外,有需要还要加上这么一段代码,来取得系统时间,

def releaseTime() {
    return new Date().format("yyyy-MM-dd_hh-mm-ss", TimeZone.getTimeZone("GMT+08:00"))
}


详解代码;

fileName:这就是文件名称了,我这里拼接了一些信息。所以也就是打完包出来的这个名字cmfchina_v3.1.0_2016-12-16_01-36-28_cmfchina.apk。大家自行拆分,

cmfchina_v${defaultConfig.versionName}_${releaseTime()}_${variant.productFlavors[0].name}.apk。。对比,${variant.productFlavors[0].name}这一块你们可能会编译不通过,因为我引用了渠道名,你们随便写点abc就可以了,然后保存。然后检查Jenkins的配置




没问题就构建把,愉快的成功吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值