Skip to content
G

Gerrit

Recenzowanie kodu z użyciem Gerrita – raport

W ramach zadania przetestowano lokalną instancję systemu Gerrit (w wersji 3.11.2) do recenzowania kodu źródłowego. Celem było sprawdzenie działania narzędzia, przetestowanie scenariuszy związanych z recenzją kodu, jak również konfiguracja użytkowników i uprawnień. Poniżej opisano szczegółowo wszystkie wykonane kroki.

1. Uruchomienie Gerrita lokalnie

  • Pobrano plik .war Gerrita i uruchomiono go lokalnie za pomocą polecenia: java -jar gerrit-3.11.2.war init --batch --dev -d gerrit_test

  • Serwer wystartował pod adresem http://localhost:8080. W trybie developerskim port SSH domyślnie to 29418.

2. Utworzenie kont użytkowników

Zalogowano się jako administrator i utworzono dwóch użytkowników:

  • dev1 – programista
  • rev1 – recenzent

login

Oba konta zostały przypisane do odpowiednich grup które wcześniej zostały stworzone:

grupy

  • dev1 dodany do grupy Developers

devy

  • rev1 dodany do grupy Reviewers

revy

3. Konfiguracja uprawnień

W zakładce Access ustawiono uprawnienia dla ścieżki refs/for/*:

  • Grupa Reviewers otrzymała możliwość oceniania zmian: Label Code-Review: -2…+2

oraz dla ścieżki refs/heads/*:

  • Grupa Developers oraz Reviewers uzyskała możliwość zatwierdzania zmian: Submit

Dzięki temu rev1 mógł nadawać oceny +2/-2, a oba konta mogły zatwierdzać zmiany po zaakceptowaniu.

access

4. Klonowanie repozytorium i konfiguracja hooków

dodanie klucza ssh w gerricie dla dev1:

ssh

oraz zalogowanie się na niego w git bashu

sklonowano testowe repozytorium:

klonowanie

Pobrano hook commit-msg, który dodaje wymagany przez Gerrita Change-Id:

hook

5. Dodanie zmian i zgłoszenie ich do recenzji

Dodano pliki z wcześniejszych laboratoriów i wykonano pierwszy commit:

  • git add .
  • git commit -m "dodanie"

Zmiana została zgłoszona do recenzji za pomocą:

  • git push origin HEAD:refs/for/main

1.1_-_git_push

Tak to wygląda w gerricie:

1.2_-_git_push

1.3_-_git_push

6. Recenzowanie zmian

Zalogowano się na konto rev1, otworzono zgłoszoną zmianę przez interfejs webowy i:

  • Dodano komentarze w plikach źródłowych
  • Oceniono zmianę na -2, co zablokowało możliwość zatwierdzenia

codereview-2

7. Wprowadzenie poprawek przez dev1

Zalogowano się ponownie jako dev1, naniesiono poprawki i zaktualizowano zmianę:

  • git commit --amend
  • git push origin HEAD:refs/for/main

roznice

8. Finalna akceptacja

rev1 ponownie zrecenzował zmianę:

  • Zatwierdził ją oceną +2

codereview+2

  • Zatwierdził zmianę przyciskiem Submit

Podsumowanie

W Gerricie zrealizowano:

  • Konfiguracja instancji i repozytorium
  • Utworzenie użytkowników i uprawnień
  • Praca z kodem i obsługa Change-Id
  • Recenzje, odrzucenia, poprawki i zatwierdzenie

System Gerrit sprawdził się jako narzędzie do kontrolowanej integracji kodu i wymuszenia recenzji przed zatwierdzeniem zmian.