Statyczna analiza kodu dla commitów na gerricie

0

cześć,
Taka sprawa. Mam gerrita i jenkinsa. Obecnie oba są całkowicie od siebie nie zależne. Cel jest taki. Na gerrita wchodzi review, triggerowany jest jenkins który puszcza cppcheck i cpplint, a następnie odpowiada do gerrita z komentarzami. Co zrobiłem

  1. plugin do cppcheck jest, a także komunikacji między jenkins a gerrit postawiony z obu stron.
  2. Gerrit potrafi triggerować jenkinsa a jenkins odpowiada. Jakiś zwykły testowy tekst.
  3. Cppcheck się puszcza na jenkins i generuje .xml w formacie junit.

Mam jednak problem z przetworzeniem wyników cppcheck i wysłaniem ich do gerrit. Konkretniej robię to tak:

  1. W pipline w jenkinsfile odpallam cppcheck i wyjście zapisujędo pliku xml
  2. W skrypcie groovy(obecnie skrypt jest jako stage w jenkinsfile) odczytuję xml
  3. Iteruję po każdym węźle(de facto węzeł do error) i wysyłam do gerrita

Niestety problem jest z pkt. 2 i 3. Nie moge wczytać pliku xml ponieważ kiedy w skrypcie po odpaleniu pcpcheck i zapisie do pliku uruchamia się script { kod groovy} jest to inne miejsce w jenkinsie! czyli ścieżki się nie zgadzają, i nie mogę załadować pliku.

A później też nie dam rady odpalić pkt. 3

Pytanie, jak dobrze zrobić taką integrację? Czy ja za dużo kombinuję?

1

Pytanie czemu nie użyć Sonara? https://www.jenkins.io/doc/pipeline/steps/sonar-gerrit/

0

Odpowiem sobie sam
w skrypcie w pipline trzeba wykonać komendę
checkout scm
Spowoduje to że w pliku jenkinfile w bloku
script {}
będzie poprawna ścieżka.

1 użytkowników online, w tym zalogowanych: 0, gości: 1