Gerrit – dostęp do bazy danych

Opublikowany Autor Piotr CudnikDodaj komentarz

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.