Я таки не пожадничал и для личного проекта купил ВПС сервер за 5 баксом на минимальной конфигурации но с SSD диском.
512 мб оперативки расширил еще 4 гб SSD свопа и запустил там.
Jenkins + Selenium + Браузер + какую-то штуку для тасков.
Оперативка поглощена мгновенно, но вот своп работает достаточно шустро.
Настроил jenkins, что в случае если были коммиты, то он собирает это всё и выдает результат. Успешно или нет.
Думаю лучше вам задуматся, чтоб был CI сервер, который вам будет говорить что коммиты успешны или нет.
Можно сделать второй CI сервер, который будет гонять билды для вас, а если билд зеленый — пушить в другой репозиторий, откуда уже будет собираться билд, который видит заказчик =)
У нас реализовано нечто подобное. В jenkins'e есть две сборки: dev и master. Тесты гоняются два раза в день, мастер подтягивает в себя изменения только тогда, когда дев-сборка зеленая.
Есть ещё более красивый вариант (кроме адского CI) — использование xephyr (это реализация X-сервера для X-сервера). Указываете export DISPLAY=:1 (или какой он там образуется) перед запуском FF, и имеете его в нормальной отрисовке, минуя растеризацию в VNC.
А я использую самописный браузер на движке Webkit, он работает как в консольном режиме так и в GUI, один минус — под Винду, но вроде как можно переписать и на линукс, но я этим не запаривался. Работает на серваке в консольном режиме, понимает все: Java,JavaScript, Flash и т.д… Иногда запускаю на десктопе с выводом логов в консоль для отладки, для тестов использую GUI режим. Работает идеально, как Chrome. Использую для разного, для накручивания счетчиков, кликания рекламы, поведенческого фактора, автоматизации работы с веб сайтами. Виртуальными машинами даже не запариваюсь.
VNC здесь ни к чему, есть более простое решение — эмуляторы X-ов, например en.wikipedia.org/wiki/Xvfb
Вся инструкция по его настройке займет 2 строчки — установка + запуск Selenium через xvfb-run. Не нужно ни виртуалок, ни VNC/RDP.
Когда нужно постоянно менять и запускать тесты в видимом и невидимом режиме, xvfb не очень удобная штука. Но главная проблема в том, что мы не смогли его нормально настроить.
Мой коллега запускает тесты в убунте с помощью xvfb вот так:
Xvfb :10 -ac > /dev/null &
DISPLAY=:10 java -jar selenium.jar
Отправляет браузер на другой монитор и его не видит :]
Интересный способ запуска Selenium тестов на заднем плане