Ich habe einen parametrisierten Jenkins
Job, der jedes Mal ausgeführt wird, wenn einer der Upstream-Jobs eine stabile Build haben; wo die Anzahl der Upstream-Jobs variieren kann, aber zumindest gibt es immer einen.Aggregation Testergebnisse für mehrere Upstream-Jobs
Grafisch, es ist so etwas wie diese (Von hier an, ich an einen vorgeschalteten Job als upstream
und auf den nachgelagerten Job als downstream
beziehen):
Upstream_1 ... Upstream_N
| |
| |
\ /
\ /
\ /
| |
Downstream_Parametrized_Job
downstream
führt in einer speziellen Umgebung Das Gerät testet für die upstream
, die die Ausführung ausgelöst hat (alle upstreams
müssen in dieser spezifischen Umgebung getestet werden)
Ich bin in der Lage, aggrega Die Tests Ergebnisse in upstream
für einen bestimmten Job, aber ich habe eine harte Zeit, dies für eine beliebige Anzahl von Upstream-Jobs zu verallgemeinern.
Für einen einzigen Job, ich habe this solution gefolgt, in downstream
den Namen der upstream
, wo das Fingerabdruck-Artefakt zu kopieren.
Aber das ist ein Problem, da ich mehrere upstreams
haben kann und ich kann nicht alle Namen direkt angeben.
Gibt es eine Möglichkeit zu sagen, Jenkins
das Artefakt von der spezifischen upstream
, die den Job ausgelöst hat, ohne Angabe eines Namens zu nehmen?
Also, in dem Bild, anstatt UPSTREAM_1
eingeben, wäre es möglich, eine Umgebungsvariable, etwa ${UPSTREAM_JOB_NAME}
?
(here, ich sehe keine integrierte Variable so, aber ich wäre nicht überrascht, wenn es nicht dokumentiert wurden)