Mit android emulator während jenkins build
Habe ich Jenkins installiert und konfiguriert build-job mit emulator läuft, während bauen. Aber wenn ich den job auszuführen, bekomme ich die Fehlermeldung, dass jenkins der Benutzer nicht über die Berechtigung zum ausführen von kvm. Wie kann ich es beheben.
$ android list target
[android] Using Android SDK: /opt/android/sdk
$ adb start-server
* daemon not running. starting it now on port 5973 *
* daemon started successfully *
$ adb start-server
[android] Starting Android emulator
[android] Erasing existing emulator data...
$ emulator -ports 5971,5972 -prop persist.sys.language=en -prop persist.sys.country=US -avd hudson_en-US_160_1024x768_android-15_x86 -no-snapshot-load -no-snapshot-save -wipe-data
emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure KVM is properly installed and usable.
CPU acceleration status: This user doesn't have permissions to use KVM (/dev/kvm).
[android] Emulator did not appear to start; giving up
$ adb disconnect localhost:5972
[android] Stopping Android emulator
$ adb kill-server
Berechtigungen
$ ls -l /dev/kvm
crw-rw----+ 1 root root 10, 232 May 6 13:46 /dev/kvm
$ groups jenkins
jenkins : jenkins
- Führen Sie
kvm-ok
und finden Sie den Ausgang. Ist esINFO: /dev/kvm exists KVM acceleration can be used
oderINFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
? Es könnte auch sein, dassEnter your BIOS setup and enable Virtualization Technology
, so dann sollten Sie das tun, wie gesagt 🙂 - Wie Sie gezeigt haben, mit sich selbst, nur
root
hat die Berechtigung zum Zugriff auf/dev/kvm
, undjenkins
ist nicht in derroot
Gruppe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe es geschafft das problem zu beheben.
Install Qemu-KVM und cpu-checker
apt-get install qemu-kvm cpu-checker
Überprüfen Sie, ob der KVM-Switch ist verfügbar (wie jenkins user
$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
Erstellen Gruppe kvm hinzufügen jenkins zu dieser Gruppe
addgroup kvm
usermod -a -G kvm jenkins
Gruppe wechseln, Eigentum für
/dev/kvm
chgrp kvm /dev/kvm
Erstellen von udev-Regel
$ sudo nano /etc/udev/rules.d/60-qemu-kvm.rules
KERNEL=="kvm", GROUP="kvm", MODE="0660"
Neustart
jenkins
Benutzerlibvirt
Gruppe.Auf meinem CI (gitlab) diese fehlten auf Ubuntu
oder mit Jenkins