2017-04-07 10 views
5

Mam zadanie z macierzą konfiguracji do wykonania kompilacji na 2 komputerach (master i slave). Mam opcję "Usuń obszar roboczy przed uruchomieniem kompilacji" zaznaczoną dla tego zadania.Jenkins: usuń obszar roboczy na niewolniku też

Niestety, obszar roboczy jest usuwany tylko w węźle "głównym", czyli w węźle, w którym wykonywane jest główne zadanie (zadanie uruchamiające całe zadanie niezbędne do pokrycia macierzy konfiguracji).

Obszar roboczy na drugim węźle nie jest usuwany.

Myślę, że to błąd Jenkinsa: ponieważ zadanie ma macierz konfiguracji, istnieje zadanie główne, które uruchamia inne zadanie. Opcja "Usuń obszar roboczy przed rozpoczęciem budowy" dotyczy tylko tego zadania głównego. Myślę, że ta opcja powinna obowiązywać dla wszystkich zadań konfiguracyjnych macierzy.

Ktoś wie, czy się mylę?

Odpowiedz

5

Po badaniu okazało się, że Slaves obszary robocze nie są usuwane przez „przed Usuń roboczy zaczyna budować” metody, obszar roboczy może zostać usunięty na pana tylko z metody (dodanym przez https://wiki.jenkins-ci.org/display/JENKINS/Workspace+Cleanup+Plugin).

Najlepszym rozwiązaniem w tym przypadku jest użycie skryptu: https://gist.github.com/rb2k/8372402

dobrym źródłem informacji, aby uzyskać dodatkowe informacje dotyczące skreślenia obszarze roboczym Jenkins: https://julienprog.wordpress.com/2016/04/14/clean-up-jenkins-workspaces/

+0

Dziękujemy fos te informacje. –

+0

Nie ma za co. Dobrą rzeczą, aby szukać błędów w wtyczkach lub funkcjach, które chcesz dodać do wtyczek, jest: https://issues.jenkins-ci.org – Olia