Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как правильно настроить запуск selenium-теста на удалённой машине с Jenkins, Maven, TestNG


(qw1564) #1

Всем привет, нужен совет по перенастройке среды.

Работаю с удалённым заказчиком, у которого налажена своя система: Jenkins, SVN, несколько DEV-серверов с самим приложением и несколько виртуальных машин-эксекьюторов.

До недавнего момента ситуация была такой:

приложение задеплоено на тестовый девелопмент-сервер DEV, 

я локально на офисной машине сделал тест -> запустил тест с неё же через maven, приложение при этом находится у заказчика на DEV -> если тест ОК - включил его в группу к примеру "Acceptance" -> закоммитил изменения в SVN -> Jenkins заказчика запустил в полночь билд, в который включен мой тест -> success -> profit :)

 

С целью не сидеть привязаным к офисной машине покупаю сейчас ноут, а офисную машину хочу использовать для запуска тех тестов над которыми я работаю в данный момент - тоесть хочу сделать так:

код находится на ноуте -> тесты запускаются на той же офисной машине, приложение при этом находится у заказчика на DEV -> если всё ок - коммичу в SVN код с ноута

 

я вижу 2 варианта решения:

1) на ноутбуке ставлю локально Jenkins, офисную машину подключаю как Jenkins-Slave и запускаю тест, но для этого мне надо будет держать ноут онлайн пока не закончится тест

2) установить Jenkins на локальную машину, но как тогда запускать код который на ноуте? коммитить после каждого изменения на офисную машину я так понимаю не получится т.к. код привязан уже к SVN заказчика

 

из внешнего мира к офису подключаюсь по VPN, IP может быть разным

 

посоветуйте как быть

 


Создание java приложения для запуска автоматизации не из IDE
(Mykhailo Poliarush) #2

ух... как ты закрутил схему :)

хотя поднятие дженкинса чисто для задачи коммита мне не сильно нравиться

но мне кажется имеет смысл поднять дженкинс на стационарной машине вместе с репозиторием

ты просто коммитишь код в репозиторий а дженкинс по коммиту проганяет тесты и заливает их заказчику, если все прошло отлично

а на ноутбуке ты разрабатываешь код, проверяешь его и чинишь все тесты,

после заливаешь в репозиторий и дженкинс подхватывает изменения


(qw1564) #3

спасибо за ответ :)

если я правильно понял ты предлагаешь поднять на офисной машине SVN и закоммитить в него код с ноута - это пройдёт, запустится с дженкинса тест - а как дальше в репозиторий заказчика код коммитить? в проекте же служебные файлы совсем другого(того который поднят на офисной машине) репозитория будут лежать, я правильно понимаю?


(Mykhailo Poliarush) #4

ну и что, что они будут в разных репозиториях

кто тебе мешает написать скрипт, который будет брать все файлы (если тесты прошли), копировать их в другую дерикторию и коммитить изменения


(qw1564) #5

просто я где-то когда-то читал что copy|paste могут поломать привязку к SVN в прокете

допустим я закоммитил в DIR1 которая является локальным SVN

тест прошёл, я батником копирую файлы проекта в DIR2 (к примеру echo d | xcopy DIR1 DIR2 /s /e /h /c), которая привязана к SVN заказчика

Нормально ли такое сработает?

 

(ОС офисной машины - win7)

ноут ещё не приехал, проверить не на чем - поэтому всё в теории продумываю :)


(Mykhailo Poliarush) #6

на счет SVN немогу точно сказать, надо пробовать

в каждой папке, которая находиться под версионным контролем, есть скрытая папка SVN

если конечно она перезатрется, то могут быть какие-то последствия

но это надо пробовать и посмотреть на результат

 

можно конечно и на локальной машине поставить git себе, чтобы упросить работу с репозиторием


(qw1564) #7

похоже в моем случае она находится только в корневом каталоге и действительно можно переписать все изменения в версию проекта привязаную к репозиторию заказчика. попробую сначала сделать так, спасибо :)