2015-02-03 3 views
0

Дженкинс версия: 1,573
Дженкинс Xvfb Plugin версия: 1.0.15 (последняя)
Linux OS: Red Hat Enterprise Linux Server релиз 5.9 (Tikanga)Xvfb Дженкинс плагин: Непризнанный вариант: -displayfd

Xorg -версия

X Window System Version 7.1.1 
Release Date: 12 May 2006 
X Protocol Version 11, Revision 0, Release 7.1.1 
Build Operating System: Linux 2.6.18-308.13.1.el5 x86_64 Red Hat, Inc. 
Current Operating System: Linux kobaloki2 2.6.18-348.16.1.el5 #1 SMP Sat Jul 27 01:05:23 EDT 2013 x86_64 
Build Date: 06 November 2012 
Build ID: xorg-x11-server 1.1.1-48.100.el5 
     Before reporting problems, check http://wiki.x.org 
     to make sure that you have the latest version. 
Module Loader present 

, который Xvfb

/usr/bin/Xvfb 

У меня есть некоторые тесты, основанные Селен GUI, что я бегу по отношению к данной среде веб-сайта/сервера и где эти тесты проверяют, если все для этого сайта работает нормально или нет, то есть выполняя ведение журнала in/out и некоторые другие клики здесь n успешно.

Как это Selenium GUI-тесты, и я хочу запустить эти тесты на машине (Linux) в режиме HEADLESS, мне нужен X-сервер отображения Xvfb.

Я экспортировал переменную DISPLAY и успешно начал /etc/init.d/xvfb.

root  5996  1 0 2014 ?  00:00:00 /usr/bin/Xvfb :99 -ac -screen 0 1024x768x8 

Я использую Xvfb плагин, который успешно установлен на моем случае Дженкинс и конфигурации в обоих Дженкинс Global и Дженкинс уровень работы установлен правильно и работает нормально, если я запускаю работу на ведущий/ведомый экземпляры (ПРИМЕЧАНИЕ: В настоящее время я создал ведомые устройства на том же главном сервере, но у меня есть другие отдельные серверы, где я планирую установить больше подчиненных).

Когда я запускаю только одновременно пробегов на работу, я вижу следующие дополнительные процессов, т.е. в запуск и работа завершается успешно. ПРИМЕЧАНИЕ: Мое значение смещения в плагине Xvfb равно 1. Если я использую 100, тогда будет показано: 101 и: 102 соответственно.

u10003 16264 6921 1 12:56 ?  00:00:01 Xvfb :1 -screen 0 1024x768x8 -fbdir /production/JSlaves/kobaloki2_2/xvfb-2015-02-03_12-56-41-60597.fbdir 
u10003 16289 6691 0 12:56 ?  00:00:00 Xvfb :2 -screen 0 1024x768x8 -fbdir /production/JSlaves/kobaloki2_1/xvfb-2015-02-03_12-56-46-7546741396559175462.fbdir 

Я пытаюсь запустить одновременно пробеги работы Дженкинс (который успешно пробеги Селен GUI Integration/Приемочные испытания на ведущем/ведомые серверах).

Теперь, Что я пытаюсь достичь запускать несколько процессов сборки/пробеги этой работы Дженкинс (так что я могу иметь несколько тестов, выполняющихся в то же время, т.е. выполнять какое-то испытание на основе тома) , На данный момент я не хочу запускать эти тесты на сервере Selenium Grid (вне сферы действия этого сообщения).

enter image description here

Мои вопросы:

1. Если установлен флажок «Разрешить отображать имя Xvfb», тогда я получаю следующую ошибку: (здесь работа выполнялась на экземпляре мастера Jenkins вместо подчиненного устройства, таким образом/production/jenkinsAKS/... base папка). Как я могу использовать Xvfb для использования-displayfdпеременная успешно?

13:33:01 Xvfb starting$ Xvfb -displayfd 2 -screen 0 1024x768x8 -fbdir /production/jenkinsAKS/xvfb-2015-02-03_13-33-00-6577455998897275731.fbdir 
13:33:01 Unrecognized option: -displayfd 

... 
....bunch of options for Xvfb command 
... 
.. 
13:33:01 Fatal server error: 
13:33:01 Unrecognized option: -displayfd 
13:33:01 
13:33:11 
13:33:11 ERROR: Xvfb failed to start, consult the lines above for errors 

За этой ссылке: https://wiki.jenkins-ci.org/display/JENKINS/Xvfb+Plugin Пусть Xvfb выбрать Отображаемое имя Использует вариант -displayfd из Xvfb, с помощью которого он выбирает свое собственное имя дисплея путем сканирования доступной один. Для этого варианта требуется последняя версия xserver, проверьте установку для поддержки. Полезно, если вы не хотите управлять диапазонами номеров дисплеев, но используйте первый бесплатный номер дисплея.

2. В приведенном выше снимке (Xvfb плагин), я вижу Xvfb дополнительных параметров окно, есть ли вариант, что я могу попробовать, который расскажет Xvfb использовать дисплей #, который не используется в настоящее время?

3. Похоже, мне нужно обновить версию сервера X (Xorg -version). Как я могу это сделать, какие команды мне следует запустить?

4. Если я снимите флажок указанное выше флажок, и если я бегу несколько вариантов сборки (более 2) этой работы Дженкинс, то я получаю следующее сообщение об ошибке, если число DISPLAY уже использовать. Используя этот флажок в плагине Xvfb, я пытался сказать Xvfb использовать номер дисплея из бесплатного списка, если он недоступен.

Эта ошибка возникает либо для отображения # 1, либо # 2 в зависимости от того, как плагин Xvfb присваивает номер в среде Jenkins (используя node/slave # и т. Д.).

13:04:27 Fatal server error: 
13:04:27 Server is already active for display 1 
13:04:27 If this server is no longer running, remove /tmp/.X1-lock 
13:04:27 and start again. 
13:04:27 
13:04:27 unlink: No such file or directory 
13:04:42 unlink failed, errno 2 
13:04:42 ERROR: Xvfb failed to start, consult the lines above for errors 

**How can I get rid of the above error** (seems like when I can resolve bullet 2 above)? 

Примечание: Если я использую один ведомый (либо на той же основной экземпляр или на любом другом сервере) и увеличить # исполнителей от 1/2 до 20 или больше, то, Xvfb успешно одновременно запускать N количество сборок/прогонов/тестов без каких-либо сбоев. Я также могу использовать плагин naginator, если это необходимо для повторной попытки неудачной сборки, если какой-либо из-за DISPLAY недоступен. НО, это не то, что я смотрю на этот раз.

ответ

0

Время ответа.

  1. Это зависит от вашей машины, т.е. Xvfb, установленной на вашем компьютере может не иметь -displayfd вариант (но может быть другой аналогичный один), но Xvfb плагин в Дженкинс проходит его для вас, когда вы убедитесь, что флажок. Попробуйте использовать другую опцию (см. Справочную страницу Xvfb или справочную страницу на компьютере с ОС). Теперь я НЕ использую/не проверяю этот флажок.

  2. На самом деле не требуется, поскольку плагин Xvfb сгенерирует новый экземпляр и назначит DISPLAY (: NN), где NN - это номер автоматически для каждого отдельного прогона.

  3. Я могу использовать команду yum.

  4. Эта ошибка не возникает каждый раз. Если это происходит, и ошибка возникает во всех запусках работы Jenkins, вы можете запустить следующую команду, чтобы исправить это.

    /etc/init.d/xvfb stop; сон 2; /etc/init.d/xvfb начать

Чтобы получить копию Xvfb файла, вы можете получить его в Интернете (где некоторые Xv файл, который находится в папке /etc/init.d, имеет больше возможностей, которые просто стоп/старт

Теперь решение моей проблемы АКТУАЛЬНОМ (за который я пытался все) упоминается в другом посте здесь:. Xvfb, Jenkins, Selenium tests - Capture Screenshots of all pages

Смежные вопросы