Czy możliwe jest, aby zadanie Jenkins zostało uruchomione przez artefakty kopiowania wtyczek z wielu zleceń?Kopiowanie artefaktów z wielu zleceń upstream na dołączenie do Jenkinsa
Próbuję skonfigurować konfigurację Jenkinsa za pomocą "diamentu" zadań: my-trigger uruchamia i spawnuje dwa zadania, my-fork1 i my-fork2, które mogą działać jednocześnie i przyjmować różne ilości czasu , a wtyczka Join ustawia zadanie my-join po zakończeniu obu rozwidleń.
Każda z opcji my-trigger, my-fork1 i my-fork2 tworzy artefakty odcisków palców (np. Pliki tekstowe).
Chcę skopiować artefakty z każdego z wcześniejszych zadań w my-join za pomocą narzędzia "Kopiuj artefakty z innego projektu", z parametrem "Która kompilacja" ustawionym na "Kompilacja podrzędna, która wyzwoliła to zadanie". Jednak widzę wyjścia jak to w konsoli my-przyłączyć:
budynku zdalnie na kompilacji maszynowym w obszarze roboczym/ścieżka/do/roboczy/my-przyłączyć
Skopiowano 1 artefakt z „my- wyzwalacz”build numer 63
Skopiowano 1 artefakt od "my-fork1" build numer 63
Nie można znaleźć kompilacji dla artefaktu odpis z: my-fork2
, a zadanie nie powiedzie się. W tym przypadku moja-fork2 zakończyła się jako pierwsza, więc moja-fork1 uruchomiła krok łączenia. Sądzę, że oznacza to, że my-join ma tylko zapis my-fork1 i my-trigger, ponieważ są one wcześniejsze. Jeśli moja-fork1 zakończy się pierwsza, to moja-fork2 rozpocznie połączenie, a zadanie nie powiedzie się, gdy próbujesz skopiować z mojego-fork1.
Jeśli zmienię konfigurację, aby skopiować artefakt z kompilacji "Najnowsza pomyślna kompilacja", to kompilacja się powiedzie, ale mój-wyzwalacz może być uruchamiany wiele razy z rzędu, więc nie byłoby żadnej gwarancji, że moje-dołączenie łączy powiązane artefakty .
Jak uzyskać krok łączenia, aby skopiować artefakty z wielu wideł w górę strumienia?
Uwaga: drugi punkt this question zdaje się pytać o to samo, ale jedyna odpowiedź tam nie odpowiada i została przyjęta.
Dzięki tensorproduct
Tak, dzięki za to. W końcu użyłem BUILD_TAG z budowania wyzwalania, aby ustawić parametr UNIQUE_ID wszystkich dalszych kompilacji i wykorzystałem to jako znacznik identyfikujący krok łączenia. – laffoyb
Czy możesz podać dokładny ciąg znaków do użycia, aby to osiągnąć? Mam problemy ... – dstj
Obawiam się, że nie pracuję w miejscu, w którym umieszczam tę poprawkę w miejscu, więc nie mam dokładnego ciągu do ręki. Zgodnie z moją najlepszą pamięcią, użyłem Parameterized Trigger Plugin, aby uruchomić dalsze kompilacje. Ustawiam parametr ręcznie za pomocą 'UNIQUE_ID = $ {BUILD_TAG}'. – laffoyb