Имам параметризиран Jenkins
работа, която се изпълнява всеки път, когато някоя от задачите нагоре по течението има стабилно изграждане; където броят на работните места по течението може да варира, но поне винаги има такъв.
(Оттук нататък ще се позовавам на работа нагоре по течението като upstream
и към работата надолу по веригата като downstream
)
Графично, това е нещо подобно:
Upstream_1 ... Upstream_N
| |
| |
/
/
/
| |
Downstream_Parametrized_Job
downstream
изпълнява в специална среда единичните тестове за upstream
което задейства екзекуцията (всички upstreams
трябва да се тества в тази специфична среда)
В състояние съм да обобщавам резултатите от тестовете upstream
за конкретна работа, но ми е трудно да обобщя това за произволен брой работни места нагоре.
За една-единствена работа аз последвах това решение, посочвайки в downstream
името на upstream
къде да копирате отпечатания артефакт.
Но това е проблем, тъй като мога да имам няколко upstreams
и не мога да посоча всички имена директно.
Има ли начин да се каже Jenkins
за да вземем артефакта от конкретното upstream
което задейства задачата, без да посочвате име?
Така че, на снимката, вместо да пишете UPSTREAM_1
, би било възможно да се използва променлива среда, нещо подобно ${UPSTREAM_JOB_NAME}
?
(тук, Не виждам такава вградена променлива по този начин, но не бих се изненадал, ако не беше документиран)
Отговори:
2 за отговор № 1Най- Копирай артефакт Pluginна страницата има раздел:
Определете параметър UPSTREAM_JOB_NAME
в низходящия поток и го настройте съответно при задействане от горния поток.