/ / SonarQube: Sprawdź, czy projekt z tym samym kluczem już istnieje podczas pierwszej analizy / kompilacji - maven, jenkins, sonarqube

SonarQube: Sprawdź, czy projekt z tym samym kluczem już istnieje podczas pierwszej analizy / kompilacji - maven, jenkins, sonarqube

Buduję swoje projekty z Jenkinsem i analizuję je za pomocą SonarQube.

Problem, który próbuję naprawić bez pisania własnej wtyczki, jest następujący:

  • 1.) Jenkins rozpoczyna budowę nowego projektu (nigdy wcześniej nie budował ani nie analizował sonaru SonarQube)
  • 2.) Wywołana jest analiza SonarQube
  • 3.) Powłoka SonarQube sprawdza, czy projekt z tym samym kluczem już istnieje
  • 4a.) Jeśli już istnieje: Przerwij analizę i wyślij komunikat o błędzie
  • 4b.) Jeśli nie istnieje: Kontynuuj analizę jako normalną analizę

Lub innymi słowy: Jeśli projekt jest analizowany po raz pierwszy, chcę, aby SonarQube upewniał się, że nie ma już żadnego innego projektu z tym samym kluczem, którego używa ten nowy projekt. Celem jest uniknięcie zastąpienia istniejących projektów innym kompletnym projektem Jeśli projekt został już poddany analizie, a nowa analiza byłaby podobna do "aktualizacji starych wyników", nie chciałbym, aby pojawiał się komunikat o błędzie.

Czy mogę po prostu zainstalować wtyczkę? Czy muszę zmieniać rzeczy w pliku pom.xml? Czy jest jakiś sposób? A jeśli tak: jak to działa?

(Wiem, że można uzyskać numer okładkiostatnia udana kompilacja w Jenkins. A jeśli byłaby większa lub równa 1, nie byłoby już żadnego powodu dla mojego czeku. Jeśli nie: potrzebuję mojego czeku)

Dzięki za pomoc :)

Odpowiedzi:

4 dla odpowiedzi № 1

Możesz użyć /api/resources?resource=project-key Usługa sieci Web ze skryptu, aby sprawdzić, czy dany klucz projektu już istnieje (jeśli nie, WS będzie odpowiadał 404).

Jednak, jak @ andre-stannek powiedział: Ostatecznie to twój obowiązek upewnić się, że 2 projekty nie używają tego samego klucza. SQ nie może wiedzieć, czy analizowany projekt jest aktualizacją istniejącego projektu, czy nie.