Gerrit przechowuje ustawienia dotyczące projektów, użytkowników, grup czy ustawień dostępu w bazie danych na serwerze. Przy konfiguracji Gerrit’a w pliku konfiguracyjny możemy wybrać jaka to ma być baza z pośród H2, PostgreSQL, MySQL, Oracle, SAP MaxDB, DB2, SAP HANA. By mieć pełen dostęp do bazy danych gerrit’a należy najpierw dodać odpowiednie uprawnienia. Dla grupy administratorzy dodajmy uprawnienie Access Database w sekcji Global Capabilities.
Na lokalnym komputerze powinniśmy mieć zainstalowanego Git’a z Git Bush’em (można go poprać ze strony https://git-scm.com/downloads). W pierwszym kroku musimy wygenerować klucz ssh. Otwieramy Git Bush najlepiej z uprawnieniami administratora następnie w konsoli wpisujemy komendę wygenerowania kucza ssh.
ssh-keygen
Przy pytaniu o folder docelowy – naciśnij enter, tak samo przy pytaniu o passphrase – naciśnij enter. Pliki z kluczem publicznym i prywatnym zostaną zapisane w folderze .ssh w katalogu użytkownika:
\.ssh\id_rsa.pub- (klucz publiczny) \.ssh\id_rsa- (klucz prywatny)
W drugim kroku podajemy wygenerowany kluch publiczny w ustawieniach konta w gerrit’cie. Logujemy się na swoje konto, następnie wchodzimy w Settings -> SSH Public Key. Otwieramy wygenerowany klucz publiczny w edytorze(\.ssh\id_rsa.pub) kopiujemy jego zawartość do pola w gerrit’cie bez znaku końca linii i naciskamy „Add”.
W celu sprawdzenia poprawności przeprowadzonej konfiguracji uwierzytelnienia po SSH w Git Bush
W celu sprawdzenia poprawności przeprowadzonej konfiguracji uwierzytelnienia po SSH w Git Bush używamy komendy ssh -vv -p 29418 <nazwa użytkownika>@<nazwa domeny>
w moim przypadku komenda ta wygląda następująco:
ssh -vv -p 29418 admin@ubuntu
Jeżeli dostaliśmy poniższy komunikat oznacza to że dodanie klucza ssh powiodło się.
Zapytania na bazie danych
Możemy się teraz podłączyć do bazy danych gerrit’a z wykorzystaniem narzędzia gsql. Wpisujemy polecenie
ssh -p 29418 admin@ubuntu gerrit gsql
Gdy znajdziemy się w konsoli gerrit> wpisujemy zapytania slq na końcu zapytania musi być średnik ;
Wyświetlmy zawartość tabeli accounts, następnie wprowadźmy email dla użytkownika admin. Wykorzystamy do tego poniższe zapytania sql.
select * from accounts; update accounts set PREFERRED_EMAIL= 'admin@pcudnik.pl' where ACCOUNT_ID=1000000;
Po zrestartowaniu usługi gerrit’a i przelogowaniu się nasze wprowadzone zmiany będą widoczne na stronie gerrit’a w profilu użytkownika.