Как настроить непрерывную интеграцию Android на виртуальной машине?

Я создаю проект Android. Для CI я использую Bamboo, но могу легко переключиться на Jenkins. Эта система CI живет на виртуальной машине через Xen, которую нельзя легко изменить. У меня нет проблем с запуском модульных тестов Java, но когда я пытаюсь запустить модульные тесты Android, мне нужен либо эмулятор, либо устройство. Но

  • Эмулятор не будет работать в Xen, потому что это создаст проблему с виртуальной машиной внутри виртуальной машины (См. вопрос S/O)
  • Устройство не может подключиться через USB (adb usb) к виртуальной машине, поскольку Xen не может переадресовывать USB-устройства гостям (См. вопрос S/O)
  • Устройство не может подключиться через Wi-Fi (adb tcpip; adb connect), так как оно необходимо, оно помечено как неавторизованное. Авторизация предоставляется только через USB. См. вопрос S/O

Кто-нибудь может придумать обходной путь? Маршрутизация USB в Xen, запуск эмулятора в Xen или авторизация компьютера CI для использования устройства будут работать. Единственное, о чем я могу думать, это иметь дополнительное выделенное оборудование, что для меня не очень хорошее решение.


person TinyTheBrontosaurus    schedule 15.05.2017    source источник
comment
Несмотря на то, что это дорого, я хотел бы добавить несколько вариантов aws.amazon.com/device- ферма/цены   -  person Jaswanth Manigundan    schedule 17.05.2017
comment
Это неплохая идея. Кроме того, у кого-то в устной форме возникла идея создать виртуальную машину с помощью виртуального бокса (например, потому что он поддерживает USB), а затем экспортировать/импортировать ее в Xen. Недостатки заключаются в том, что а) это занимает много времени и б) процесс необходимо повторять, если USB-аутентификация потеряна или если добавлено новое устройство.   -  person TinyTheBrontosaurus    schedule 17.05.2017
comment
Я бы посоветовал вам взглянуть на packer и vagrant. С помощью упаковщика вы можете создать коробку со всем необходимым программным обеспечением, а с помощью vagrant вы можете повторно использовать эту коробку где угодно. Вам не нужно повторять шаги !! Тоже отлично работает   -  person Jaswanth Manigundan    schedule 18.05.2017