Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 詹金斯矩阵构建:如何构建一次并将二进制文件发布给从属文件?_Android_Jenkins_Jenkins Plugins - Fatal编程技术网

Android 詹金斯矩阵构建:如何构建一次并将二进制文件发布给从属文件?

Android 詹金斯矩阵构建:如何构建一次并将二进制文件发布给从属文件?,android,jenkins,jenkins-plugins,Android,Jenkins,Jenkins Plugins,我有一个Jenkins矩阵构建,它将我的Android测试并行地分为5个节点。目前,这5个节点中的每一个都必须构建我的Android二进制文件,这需要几分钟的时间(这意味着我要为这个构建步骤所需的虚拟机数量支付6倍的费用) 有人知道我如何一次性构建二进制文件,并将生成的工件发布到矩阵构建中的从属对象吗 我很确定我可以通过使用Jenkins的“多作业项目”来实现这一点,但这有一个缺点,即我需要完全分别配置主作业和从作业 有谁有更好的主意吗 更好的是,我可以让Android构建在主机上运行,而模拟器

我有一个Jenkins矩阵构建,它将我的Android测试并行地分为5个节点。目前,这5个节点中的每一个都必须构建我的Android二进制文件,这需要几分钟的时间(这意味着我要为这个构建步骤所需的虚拟机数量支付6倍的费用)

有人知道我如何一次性构建二进制文件,并将生成的工件发布到矩阵构建中的从属对象吗

我很确定我可以通过使用Jenkins的“多作业项目”来实现这一点,但这有一个缺点,即我需要完全分别配置主作业和从作业

有谁有更好的主意吗


更好的是,我可以让Android构建在主机上运行,而模拟器在所有从机上启动吗?!这将是惊人的…

我将把事情分成两个工作:一个常规(自由式)工作,用于构建应用程序,成功后归档APK,并触发测试(矩阵)工作的下游构建

矩阵作业将使用将刚刚编译的APK拉入每个矩阵变量的工作区。无论生成在何处运行,或测试生成在何处运行,APK都将自动复制到正确的计算机


您还可以通过在每台(虚拟)机器上运行多个仿真器来节省资金,因为通常不需要隔离仿真器。

关于在APK构建时启动仿真器,我不知道-也许Jenkins相对较新的工作流插件可以用于构建这样的工作流,但Android模拟器插件可能必须兼容。但是(至少如果您使用的是x86系统映像仿真器,或者快照),启动仿真器应该非常快。