W tym wpisie przedstawię jak można rozszerzy funkcjonalności gerrit’a za pomocą plugin’ów, oraz gitweb’a. Czysty gerrit jak najbardziej spełnia swoje podstawowe zadania, umożliwia wykonanie code review i zapewnia kontrole dostępu do repozytorium. Pewne elementy możemy jednak ulepszyć, by praca z gerrit’em była bardziej komfortowa. Gerrit udostępnia kilkanaście rozszerzeń oraz wspiera przegląd repozytorium za pomocą gitweb’a.
Instalacja plugin’ów
Pluginy do gerita można pobrać ze strony https://gerrit-ci.gerritforge.com/ z odpowiedniej zakładki możemy wybrać z listy te rozszerzenia, które nas interesują. Lista plugin’ów jest uaktualniana na bieżąco, pojawiają się nowe wersje plugin’ów skompilowane już do pliku jar. Aby zainstalować plugin wystarczy pobrać jra z pluginem, który nas interesuje i przenieść go do podkatalogu gerrit’a plugins. Poniżej przedstawiam listę najbardziej przydatnych rozszerzeń, które warto zainstalować już na samym początku pracy z gerrit’em.
Plugin-delete-project
Dodaje przycisk z funkcjonalnością usunięcia brancha w gerrit’cie.
wget https://gerrit-ci.gerritforge.com/view/Plugins-stable-2.14/job/plugin-delete-project-bazel-master-stable-2.14/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/delete-project/delete-project.jar
przenosimy do katalogu plugins/
mv delete-project.jar ~/gerrit-2.13.6/plugins/
Plugin download-commands
Zestaw komend do pobrania repozytorium na lokalny komputer.
wget https://gerrit-ci.gerritforge.com/view/Plugins-stable-2.13/job/plugin-project-download-commands-stable-2.13/lastSuccessfulBuild/artifact/buck-out/gen/plugins/project-download-commands/project-download-commands.jar
przenosimy do katalogu plugins/
mv project-download-commands.jar ~/gerrit-2.13.6/plugins/
restartujemy gerrita
~/gerrit-2.13.6/bin/gerrit.sh restart
Gitweb
Gitweb umożliwia podgląd repozytorium z poziomu przeglądarki. Nie musimy pobierać repozytorium na lokalny dysk by podejrzeć historie wprowadzanych zmian czy też podejrzeć dowolny plik znajdujący się w repozytorium.
Instalacja/ konfiguracja:
Sprawdzamy czy mamy już zainstalowanego gitweb’a na serwerze. Gitweb powinien być dostępny pod ścieżka /usr/lib/cgi-bin/gitweb.cgi. Jeżeli nie mamy zainstalowanego gitweb’a to instalujemy poleceniem
sudo apt-get install gitweb
Następnie w pliku konfiguracyjnym gerrit’a ~/gerrit-2.13.6/etc/gerrit.config dopisujemy
[gitweb] cgi = /usr/lib/cgi-bin/gitweb.cgi type = gitweb
restartujemy gerrita
~/gerrit-2.13.6/bin/gerrit.sh restart
Aby można było podglądać zawartość repozytorium należy jeszcze dodać uprawnienia
Read dla Reference: refs/* Read dla Reference: refs/meta/config z zaznaczonym Exclusive