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

Как передавать один и тот же параметр в разные job?

jenkins
Теги: #<Tag:0x00007f7b6312b7c8>

(Юрий) #1

Добрый день! Подскажите как такое реализовать.

Есть n-ое кол-во тестов (джоб-тесты), которым необходимо получать один и тот же Url (StandUrl).
Пытался сделать так , создать общую джобу в которой храниться StandUrl и передает параметр в нужную джобу-тест. Но проблема в том что тогда приходится перечислять все джобы в которой нужно передать этот параметр и плюс к этому он запускает все джоб-тесты.

Я предполагаю, что должно быть что то такое … Джоб тест , при запуске должен вызывать job с хранящимся в нем , тот в свою очередь отдавать ему этот параметр.


(Ray Romanov) #2

Вот на днях такая-же проблема возникла, решение (для моего случая) https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Trigger+Plugin


(Юрий) #3

я много раз натыкался на это. Но до сих пор не понимаю как этим можно решить мою проблему.


(Dez Dezsson) #4

Создайте properties файл и с помощью Environment File plugin подтягивайте этот файл в свои джобы


(Павел) #5
  1. Как часто меняется StandUrl и сколько он может принимать значений?
  2. Сколько у вас тест-джоб, которым нужен этот урл? Будет ли их количество меняться?
  3. Каким образом вы планируете стартовать эти джобы (паралельно и все сразу, или цепочкой одну за одной, или выборочно по несколько штук вручную)?
  4. Есть ли возможность именовать все тест джобы по какому-то шаблону?

(Юрий) #6

Есть 3 проекта , которые очень похожи , но все же есть отличия.

  1. На один проект возможно 3 варианта. StandUrl не меняется.
  2. По сути всем тест-джобам нужен этот параметр. Да кол-во будет меняться
  3. Паралельно.
  4. Есть, именную джобы по шаблону 01.42.52_Registration.testOpenForm (номер проекта. номер suite. номер теста_Имя suite.Имя теста)

(Юрий) #7

Попытался сейчас с помощью файлом .proprieties сделать и в итоге понял что у меня изначально все не правильно идет. Я хотел на каждый тест каждого из 3 проектов создать свой тест-джоб + у каждого проекта 3 стенда. Итого мне придется создать 450 джобов, что-то не то)

Может ли джоб хранить результаты как то отдельно в зависомости от приходящих параметров?


(Dmitrii Demin) #8

А для чего для каждого теста создавать джоб ?


(Юрий) #9

Есть требование , возможность запускать отдельные тесты из suite. Хотел сделать 1 отдельный джоб под это требования передавая туда имя теста как параметр, но как мониторить историю запусков если там все в вперемешку будет.


(Stan) #10

для фильтрации по параметрам можно взять https://wiki.jenkins-ci.org/display/JENKINS/View+Job+Filters


(Dmitrii Demin) #11

Скажу за TestNG:

  1. Запускать можно используя группы, тут даже с xml не придется возиться
  2. в дженкинсе есть плагины для testng/junit которые могут анализировать результы прошлых джоб вплоть до конкретных кейсов

(Павел) #12

Если у StandUrl сего несколько значений, то их можно указывать в Choice parameter в вашей trigger-джобе, которая будет запускать билд основных тестов. Можно организовать цепочку вроде trigger job → build flow job → запуск тест джоб в паралели.
Но как я понимаю, основная проблема не в том, как передать нужный параметр между джобами, а в самой организации тестов :slight_smile: Расскажите больше про то искомые требования к запуску на дженкинсе, и как вы это делаете пока у себя с локальной машины, и сколько у вас всего есть тестов. Мне тоже кажется что 450 джоб это перебор.