Potyczki z Jenkinsem i Mavenem

Cześć,

dziś będzie wpis na temat dość ciekawej sytuacji, jaka ostatnio mi się przytrafiła.

Warunki wejściowe:

  • wielo-modułowy projekt w Mavenie, którego wybrany test uruchamiamy z Jenkinsa:
  • mvn Dtest=com.testerkakoduje.RegisterSecretAccount#registerAccount test
  • job w Jenkinsie, gdzie z poziomu pipeline’u (Groovy)  kod systemu był pobierany z GITa.
  • następnie komenda:
    mvn clean install

    i wykonywanie interesującego nas testu jak powyżej.

Problem:

pojawiający się w losowych momentach błąd:

java.lang.NoClassDefFoundError

Pojawiał się losowo, dość rzadko i dotyczył wyłącznie 2 klas.

 

Rozwiązanie:

Po dość długich poszukiwaniu okazało się, że są uruchamiane 2 joby jenkinsowe bazujące na 2 różnych branchach gita.  Lokalizacje tych klas różniły się między tymi branchami.

Rozwiązaniem okazała się komenda:

mvn clean install -am

wymuszająca przebudowanie wszystkich modułów projektu.

 

Mała rzecz, a tyle problemów rozwiązanych;)

Do kolejnego posta!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *