Не запускается Job из Jenkins. Предыдущая Job работала, но я ее удалил.
В коде я поменял базовый абстрактный класс добавив туда @BeforeSuite и обновив dependency selenium. Но когда я сделал как было - ничего все равно ен работает. Мне кажется не в этом проблема.
Я попытался по разному прописывать цель maven. mvn clean test, mvn -f pom.xml clean test, clean test (работала до этого), -f /pom.xml clean test
Непосредственно на моей машине тесты бегают и так и эдак. Что вдруг Jenkins-у перестало нравится никак в толк взять не могу. pom.xml лежит в корне проекта.
Хм, а где можно прописать путь Jenkins-y ?
Если кликнуть по вкладке “GitHub” - происходит переход на страницу с проектом. Значит он теоретически “понял”, где его вообще брать.
Сборочная директория, как видно из скриншотов выше - пуста. Так а как именно заставить Jenkins положить мой проект в ту директорию, где он его увидит ? Почему то люди записавшие туториалы по сборке простых Jobs на Jenkins-e этим не занимались в своих материалах. Вот что странно.
Вам бы почитать для начала что есть что и что за что отвечает. Получше узнать о Jenkins и как он работает. Что такое Maven, что такое Git / Github.
Я не до конца понимаю, что вы пытаетесь сделать, но мне кажется, что делаете вы явно не то. К тому же в самом Jenkins есть минимум несколько подходов для построения мавен-сборок. Например, плагины (архаичный) и через pipeline (с помощью скриптов). Pipeline в целом более предпочтительный и его сама команда разработчиков этого самого Jenkins продвигает: Maven Integration хотя и не только его.
Если захотите через pipeline делать настройку сборки, то там же есть инструкция вполне официальная Pipeline Maven Integration и если чего-то в ней не хватает, то можно уже отскакивать от неё и по ключевым словам находить более детальные инструкции или видеоролики с индусами. Типа таких - https://youtu.be/1OX6K131SkE, https://youtu.be/GlQHS7FdVGM
В первую очередь спасибо за фидбэк. Основываясь на вашем ответе я думаю что мне удастся сдвинуться с этой точки.
На данном этапе я знаю, что Maven - это инструмент сборки проектов. Git - это технология управления кодом и способ им делиться с коллегами/друзьями. GitHub - это множество удаленных репозиториев, который как раз служит некой площадкой для хранения кода и управления им.
Я пытаюсь сделать простой Job со свободной конфигурацией. Это мои автотесты которые набрасываются на сайт sauceDemo. Они без всяких проблем запускаются и отрабатывают из IDE. Создание джобы в моем случае состоит из нескольких шагов:
1)Развертывание Jenkins-a (В моем случае в Docker);
2)Размещение уже готового проекта в Jenkins-e (в моем случае с/из GitHub)
3)Непосредственно запуск по триггеру/расписанию
В туториалах на YouTube, что например я смотрел на русском языке - у людей все получается сделать за 5 мин. И ничего не падает. В настройках проекта/джобы указывается ссылка на репо в GitHub, обозначается триггер или расписание сборки/запуска , указывается цель maven для запуска тестов и всё. Кто то еще плагин Allure подключает. В настройках jenkins указана автоматическая установка и прописан путь к бинарнику для загрузки на оф.сайте maven
Извиняться за общение и вопросы на форуме не нужно. Он для этого и создан, чтобы общаться и делиться знаниями. Не бывает глупых вопросов, только глупые ответы.
Мой ранний посыл был вам, чтобы вы начали проговаривать всё что делаете и для чего, чтобы у вас было понимание процесса, а не простое копирование туториала из интернета. На начальном этапе это ещё прокатывает, но дальше движения не будет.
Вот вы сказали, что локально у вас все работает. Но данную ошибку вы элементарно можете у себя и локально воспроизвести просто перейдя из каталога с вашим проектом вверх или вниз в дочернюю папку проекта, в которых не лежит файл pom.xml и попытаетесь вызвать команду мавена, типа mvn clean test и точно такая же ошибка будет и на вашей локальной машине. Мне можете не верить и лучше проверьте и убедитесь самостоятельно. Поняв природу ошибки вам будет куда проще двигаться дальше и анализировать причину её возникновения и как её исправить.
Jenkins вы правильно указали это инструмент для сборки, точнее не только, но в упрощенном варианте его можно так назвать. Он запускает созданные вами задания (job’ы) на устройстве, на котором есть некий агент Jenkins’а (тут могу ошибаться уже, т.к. много лет в него не тыкался, но вроде бы в общих чертах оно так и есть, не перепроверял эту информацию). Т.е. Jenkins заменяет то, что вы делаете руками у себя локально делая ровно то, что вы ему указали в job’е на некой машине, которая используется для работы. Например, запущенная в докер контейнере.
Теперь о том, что вы делаете, когда запускаете тесты локально и у вас всё работает и все хорошо: вы скачиваете код с гитхаба, переходите в локальную директорию проекта и вызываете в нем команду мавена для запуска. А теперь исходя из всего вышесказанного можно начать разбираться почему Jenkins не видит ваши файлы проекта и не запускает его. Также наличие пустой папки в рабочей директории Jenkins может означать, что файлов там не было (не скачивались), либо что они были очищены после, либо скачивались, но в другую директорию. Дальше думаю вы должны уже и сами разобраться что к чему. Либо найти полностью рабочий мануал и повторить его 1 в 1, если не хотите ни в чем разбираться.
Разобрался. После того, как я указал ссылку на мой репозиторий в правильном месте - тесты забегали. Правда там уже проблемы с хромДрайвером, но это уже дальше буду разбираться.