Załóżmy scenariusz: po zatwierdzeniu kodu do Githuba. Chcę uzyskać jakość mojego kodu, znać błędy, luki w zabezpieczeniach, zapachy kodu itp. (statyczna analiza kodu) dla mojego kodu, zanim zbuduję mój kod automatycznie za pomocą Jenkins i chcę, aby ta czynność wykonywała się za każdym razem, gdy zatwierdzam kod.
w tym scenariuszu dla ciągłej kontroli i ciągłej integracji kodu. Będziemy postępować zgodnie z najlepszymi praktykami przy użyciu integracji GitHub-Jenkins-SonarQube dla tego scenariusza.
Flow : Jak tylko programista zatwierdzi kod do GitHub, Jenkins pobierze / pobierze kod z repozytorium i przeprowadzi statyczną analizę kodu za pomocą skanera sonarowego i wyśle raport z analizy do serwera SonarQube, a następnie automatycznie zbuduje Kod projektu.
:
- Jenkins jest skonfigurowany z GitHub z pewnym wyzwalaczem kompilacji (w moim przypadku jego Poll SCM) jeśli nie zostanie to zrobione, postępuj zgodnie z tym samouczkiem— https://medium.com/@amitvermaa93/jenkins-github-with-java-maven-project-c17cdba7062
- SonarQube jest uruchomiony i masz ustawienia skanera sonaru w systemie. Jeśli nie, postępuj zgodnie z samouczkiem- https://medium.com/@amitvermaa93/sonarqube-setup-windows-e6a6c01be025
punkt 1. Otwórz Serwer SonarQube-przejdź do Administracja > kliknij bezpieczeństwo > użytkownicy > kliknij tokeny (zdjęcie 1)> Wygeneruj token o jakiejś nazwie > skopiuj token (zdjęcie 2), będzie on używany w Jenkinsie do uwierzytelniania sonaru.
Punkt 2. Konfiguracja SonarQube za pomocą Jenkinsa-przejdź do Zarządzaj Jenkinsem > Konfiguracja systemu > sekcja Serwer SonarQube > Dodaj SonarQube > nazwij go, podaj adres URL serwera jako http://<IP>:< port> > i token uwierzytelniający skopiowany z serwera SonarQube > Zastosuj i zapisz
Punkt 3. Zainstaluj wtyczkę SonarQube do Jenkinsa. Przejdź do Zarządzaj Jenkinsem > Zarządzaj wtyczkami > dostępne > wyszukaj Skaner SonarQube> zainstaluj.
Pobierz SonarScanner, jeśli nie masz https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
Skonfiguruj Skaner sonarowy w Jenkins : Przejdź do Mange Jenkins > globalna Konfiguracja narzędzia > Przewiń dla skanera SonarQube > Dodaj skaner sonarowy > nazwij go, odznacz, jeśli masz już sonar, w przeciwnym razie zostanie on automatycznie pobrany dla Ciebie,a konfiguracja skanera sonarowego zostanie wykonana (w moim przypadku już mam) > podaj ścieżkę do domu Sonar runner, jak na poniższym obrazku
punkt 4. Utwórz zadanie-nowy element > Nazwa i wybierz typ projektu (w moim przypadku wybieram projekt Maven możesz również wybrać freestyle)
punkt 5. Ustaw Git w sekcji SCM i Użyj * * * * * dla Poll SCM w sekcji Build Trigger. W sekcji środowisko kompilacji dodaj krok Pre-buid > wybierz Uruchom Skaner SonarQube
Punkt 6. Utwórzwłaściwości pliku w dowolnym miejscu i podać ścieżkę do zadania jak poniżej (utworzyłem go w folderze Jenkins workspace). Ten plik właściwości będzie specyficzny dla projektu. Zawiera pewne właściwości sonaru, takie jak folder do skanowania, który folder należy wykluczyć podczas skanowania, jaki jest klucz projektu i wiele innych, z których można go zobaczyćhttps://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
Skaner sonaru.właściwości wpisz poniżej kod –
.projectKey=github-jenkins-sonar
sonar.źródła=,/ src
dla uproszczenia użyłem tylko dwóch właściwości (jak wyżej), sonaru.właściwość projectKey utworzy projekt wewnątrz serwera SonarQube o tej samej nazwie, jeśli projekt nie istnieje, w przeciwnym razie dołączy do niego analizę, sonar.sources określa, który folder ma być skanowany. Możesz podać względną ścieżkę z obszaru roboczego zadania Jenkins lub rzeczywistą ścieżkę do folderu, który chcesz przeskanować.
od kiedy używam ./ src (use / for Windows path) to znaczy, że aktualnie jestem na swoim obszarze roboczym tj. na C:\Users\Amit Verma\.jenkins\workspace \ Jenkins-GitHub-SonarQube lokalizacja i stąd podaję ścieżkę do folderu (src), który chcę przeskanować.
Krok 7. Zbuduj pracę. Po pomyślnym zbudowaniu, jeśli widzisz dzienniki kompilacji, pokaże Ci zeskanowane pliki i folder, a po zeskanowaniu opublikował raport z analizy na zintegrowany serwer SonarQube.
Krok 8. Z pulpitu zadań kliknij ikonę sonaru lub przejdź do serwera sonaru kliknij projekty (w nagłówku) zobaczysz nowy projekt z tym samym kluczem projektu, który podałeś w sonar-scanner.Plik Właściwości. Teraz możesz wejść do projektu i przeanalizować raport