我正在使用Jenkins管道构建Android应用程序。
当构建成功完成时,它会创建一个.apk文件。
我希望QA团队的成员能够在上传Google商店之前下载此文件并测试应用程序,因此我希望这些用户(可以访问Jenkins服务器)能够通过詹金斯服务器上的URL如in this SO question所示,但由于某种原因,我用来尝试下载工件的URL一直给我404错误。
这些是我试图访问的链接,但无济于事:
https://company-ci-server.company.net/job/Itai_repos/job/Product-Android/job/develop/lastSuccessfulBuild/build/outputs/apk/Company-production-release.apk
https://company-ci-server.company.net/job/Itai_repos/job/Product-Android/job/develop/lastSuccessfulBuild/artifact/product-production-release.apk
作业被配置为多分支,这意味着Jenkins正在GitHub中观察项目,索引所有分支,并且每当提交作业开始时...这就是为什么链接如此长,你想知道。 ..
那么我做错了什么?为什么我不能通过URL访问工件?
答案 0 :(得分:7)
如果它对任何人感兴趣,因为我自己编写管道并且我没有使用GUI来配置我的工作,那么我就错过了管道中实际存档的部分,这里'相关缺失的代码:
step([$class: 'ArtifactArchiver', artifacts: '**/build/outputs/apk/*.apk', fingerprint: false])
此步骤告诉Jenkins在给定路径中查找apk文件。 然后Jenkins发布apk,你可以通过URL访问它:
https://ci-server.company.net/job/Itai_repos/job/Products-Android/job/develop/<BUILD_NUMBER>/artifact/
由于
答案 1 :(得分:1)
作为构建过程中的构建后步骤添加任务“归档工件”。 并指定要访问的文件。
在项目仪表板页面上,您将看到“最近成功的工件”
的链接修改:我们添加了部分配置:
<hudson.tasks.ArtifactArchiver>
<artifacts>
bin\file1Setup.exe, bin\file2Setup.exe
</artifacts>
<allowEmptyArchive>false</allowEmptyArchive>
<onlyIfSuccessful>false</onlyIfSuccessful>
<fingerprint>false</fingerprint>
<defaultExcludes>true</defaultExcludes>
</hudson.tasks.ArtifactArchiver>