2017-08-02 68 views
1

我有一个现有的自由式詹金斯工作,我想通过管道运行。作业完成后,我想使用androidApkUpload将APK上传到Google Play商店。问题是androidApkUpload步骤找不到我的APK。我认为这是因为我的管道工作在不同的工作区文件夹下,但我不确定。我尝试了不同的路径apkFilesPattern,但似乎没有任何工作。我发现了一个错误:Jenkins管道与androidApkUpload找不到APK

No APK files matching the pattern: '../android-job/app/build/outputs/apk/*.apk

,或者如果我尝试别的例如像一个绝对的文件路径:

No APK files matching the pattern: '/jenkins/workspace/android-job/app/build/outputs/apk/*.apk

我试过的好几个不同的组合文件模式,并没有真正的工作,包括这个例子**/*.apk

我简单的管道的一个例子:

//build 'android-app' 
node('android') { 
step([$class: 'ApkPublisher', apkFilesPattern: '**/*.apk', googleCredentialsId: 'google-play-upload', recentChangeList: [[language: 'en-GB', text: 'Test']], trackName: 'beta']) 
} 

构建需要很长时间,因此我现在已经取消注释,但APK存在于该作业的工作区文件夹中。

有没有人试过类似的设置?

+0

它看起来也是如此。如果操作系统是Windows,您可以尝试使用一次反斜杠吗? – atasoyh

+0

这是Linux。无论如何,通过将我的自由式构建迁移到管道中,找到了解决方法 – vkislicins

回答

0

我有完全相同的问题生成与吞咽apks。我认为apk安装的确切路径,它没有工作,也没有一般的例子(可能是因为$ WORKSPACE下有几个apks?谁知道) - 在这个thread之后,我找到了解决方案,我终于把

apkFilesPattern: '**/apk/android-release.apk'

但我guesss ** /编译/ *。APK也应该工作。