我有一个 Jenkins Matrix 构建,可将我的 Android 测试并行拆分到 5 个节点。目前,这 5 个节点中的每一个都必须构建我的 Android 二进制文件,这需要几分钟时间(这意味着我为此构建步骤支付的 VM 数量是我需要的 6 倍)。
有谁知道我如何一次构建我的二进制文件并将生成的 Artifact 发布到 Matrix 构建中的从站?
我很确定我可以通过使用 Jenkins“MultiJob Project”来实现这一点,但缺点是我需要完全分开配置主作业和从作业。
有没有人有更好的想法?
更好的是,当模拟器在所有从机上启动时,我可以让 Android 构建在主机上运行吗?!那将是惊人的......
最佳答案
我会将事情分为两项工作:一项是构建应用的常规(自由式)工作,成功后存档 APK,并触发测试(矩阵)工作的下游构建。
矩阵作业将使用 Copy Artifact plugin将刚刚编译的 APK 拉入每个矩阵变体的工作空间。无论构建在哪里运行,或者测试构建在哪里运行,APK 都会自动复制到正确的机器上。
您还可以通过在每台(虚拟)机器上运行多个模拟器来节省资金,因为通常不需要将模拟器隔离开来。
关于android - Jenkins 矩阵构建 : how to build once and publish that binary to slaves?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28443513/