2015-05-06 28 views
7

Jenkins'i yükledim ve yapı sırasında çalışan bir emülatör ile bir yapım işi yapılandırdım. Ama işi yürüttüğümde, jenkins kullanıcısının kvm'yi çalıştırma izninin olmadığı hata mesajı alıyorum. Bunu nasıl düzeltebilirim?jenkins build sırasında android emülatörünü çalıştıran

$ 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 

İzinler

$ ls -l /dev/kvm 
crw-rw----+ 1 root root 10, 232 May 6 13:46 /dev/kvm 

$ groups jenkins 
jenkins : jenkins 
+0

'kvm-ok' komutunu çalıştırın ve çıktıyı görün. KVM uzantıları KVM ivmesini desteklemiyor CPU used' ALINMAYACAK:/dev/kvm KVM ivme veya 'BİLGİ used' olabilir var: o ' BİLGİ mı? Aynı zamanda 'BIOS kurulumunuza girin ve Sanallaştırma Teknolojisini etkinleştirin' de olabilir, o zaman siz de dediğiniz gibi yapmalısınız :) – stanjer

+0

Kendinizi gösterdiğiniz gibi, sadece 'root'/dev/kvm 've' '/ dev/kvm'' ye erişim izni vardır. jenkins 'root' grubunda değil. –

cevap

18

Ben sorunu çözmek başarmış. KVM varsa

  1. Jenkins kullanıcı olarak (Qemu-KVM ve cpu denetleyici

    apt-get install qemu-kvm cpu-checker

  2. Kontrol yükleyin

    $ kvm-ok INFO: /dev/kvm exists KVM acceleration can be used

  3. grup kvm oluşturma ve Jenkins'i eklemek bu gruba

    chgrp kvm /dev/kvm

  4. oluştur Udev kural

    $ sudo nano /etc/udev/rules.d/60-qemu-kvm.rules KERNEL=="kvm", GROUP="kvm", MODE="0660"

  5. Yeniden Başlatma

için

addgroup kvm usermod -a -G kvm jenkins

  • Değişim Grup sahipliği

  • +3

    qemu, benim için zaten bir kvm grubu ekledi. –

    +0

    Bkz. Http://stackoverflow.com/a/43731342/2482947. Ubuntu'da 'jenkins' kullanıcısını' libvirt' grubuna eklemelisiniz. – hadilq