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

Проблема со запуском теста в Jenkins после сборки с svn


(von) #1

Доброго времени суток. Появилась проблема с запуском теста в CI Jenkins.  Есть автотест, сборщик maven, тест рабочий, ставил на локальный дженкинс, в настройках нового Job указывал путь к pom файлу, указывал цель clean test, все работало. Попробывал настроить сборку теста с svn и запуск на сервере дженкинса. Что сделал: поставил плагин для работы с svn, в новой джоб указал директорию svn, затем указал путь к pom файлу, указаль цель clean test. В итоге, тест копируется в рабочую папку на сервере дженкина, однако дальше в консоле дженкина выводит ошибку: 

java.lang.NoClassDefFoundError: and

Caused by: java.lang.ClassNotFoundException: and
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
Could not find the main class: and.  Program will exit. 

Exception in thread "main"

Пробую другим способом. После копирования теста в svn в рабочую директорию, запускаю батник, в котором указываю путь к папке в рабочей директории, и указываю цель: mvn clean test. Ошибка ву итоге, аналогичная ошибке выше. Пробую следующее. Копирую папку с тестом в диск C:/, в настройках теста в дженкинсе запускаю батник, в котором указываю директорию с тестом, и команду mvn clean test. Ошибок нет, все работает. Содержимое папок рабочей директории и папки в диске C:/ идентичное на 100%. Подскажите пожалуйста, в чем может быть ошибка? 

 


(Shaman) #2

Проверьте скомпилировался ли тест на удаленной машине и там где он собственно не запускается (абзац 2). 


(von) #3

Помню пробывал собирать целью clean package, проект точно компилировался, создавался jar файл теста. Затем прописывал команду батником mvn clean test - в итоге получал опять же ошибку ту же


(Alexander Ivanovsky) #4

Дефолтный путь к рабочей папке проекта представляет собой %JENKINS_HOME%\jobs\<имя_проекта>, и где-то в этом пути у вас есть пробел(ы).

Варианты решения:

  • перенести %JENKINS_HOME% в другую папку (без пробелов в имени)

  • задать custom workspace для проекта (Build -> Advanced -> Use custom workspace)

  • переименовать проект

(von) #5

Огромное спасибо, рабочая директория дженкинса содержала пробелы. Однако эти пробелы не мешают собирать проект локально. Странно очень. 


(Alexander Ivanovsky) #6

А какой путь к рабочей папке на локальной машине и какая ОС установлена?


(von) #7

На локальной машине JENKINS_HOME расположен C:\Program Files (x86)\Jenkins, с пробелами. Локально, я имел ввиду без сборки с svn, а прямо с машины своей. Если собирать на локальной машине с svn, то опять та ошибка. На внешней машине все аналогично. Пробелы мешают только при сборке с svn. На локальной Win7, на внешней - XP

Так что будте с проблами внимательнее...


(Irish) #8

переименовать без пробелов должно помочь. сама 2 дня таким мучалась - вся команда смотрела не могли ничем помочь. потом когда поняла, что проблема в " " в названии джобы - вспомнили, что да - было и у них такое. “_” максимум использую с тех пор :slight_smile: