Wybierz region
pl
  • PL
  • EN
Wydrukuj

GitLab – własny serwer, czyli elastyczność, prostota i prywatność

Pełna kontrola nad repozytoriami Git może być wymagana, jeśli nie chcemy, aby nasze narzędzia obsługiwały firmy zewnętrzne. Własna instalacja GitLab pozwala na większą kontrolę. Można dokonać instalacji całego środowiska na serwerze dedykowanym lub skorzystać z przygotowanego rozwiązania.

Repozytoria Git są ważną częścią procesu rozwoju i dostarczania aplikacji, zazwyczaj obsługiwane przez GitHub czy BitBucket. Poniżej zaprezentujemy, jak w prosty sposób uruchomić swoją instalację GitLab w chmurze wykorzystując możliwości platformy PaaS. Dzięki jednej aplikacji uzyskamy większą szybkość działania i współbieżny DevOps na cały cykl życia oprogramowania [1]. Takie rozwiązanie odsuwa obawy związane z bezpieczeństwem prywatnego kodu hostowanego w firmie zewnętrznej.

Instalacja przeprowadzona zostanie z wykorzystaniem repozytorium [2], licencjonowanego przez MIT i prowadzonym licznymi forkami. Chmura UniCloud umożliwia rozszerzenie repozytorium o dodatkowe funkcje, takie jak elastyczne udostępnianie zasobów z automatycznym skalowaniem pionowym, szyfrowanie SSL, wstrzykiwanie dynamicznych zmiennych środowiskowych (nazwa środowiska i domeny, tokeny bezpieczeństwa, hasła) [3]. Wszystkie te opcje pakowane są w z serwerem GitLab w manifest [4] zapewniający automatyzację instalacji w chmurze. Domyślna topologia składa się z dwóch węzłów Docker Engine:

pierwszy zawiera serwer Git i rejestry kontenerów, w drugim zawiera się GitLab Runner.

Rysunek 1: Architektura rozwiązania

Instalacja serwera GitLab

Uruchom pulpit UniCloud [5], znajdź GitLab na Liście gotowych aplikacji i naciśnij Zainstaluj.

Rysunek 2: Wybór aplikacji

Można też skorzystać z manifestu [4] i zaimportować go wybierając w panelu przycisk Import.

Rysunek 3: Instalacja aplikacji

Wystarczy wpisać nazwę środowiska i nacisnąć Zainstaluj.

Po zakończeniu instalacji otrzymamy powiadomienie o danych logowania do panelu administracyjnego dostępnego w przeglądarce.

Rysunek 4: Zakończenie instalacji

Skalowanie węzłów w poziomie

Wraz z rozwojem zespołu obciążenie serwera może wzrastać, przydatna wówczas staje się możliwość dodawania kolejnych węzłów bez ręcznego rejestrowania ich na serwerze. Po instalacji mamy dostępny jeden węzeł:

Rysunek 5: Panel serwera po instalacji

Kolejne węzły typu Runner dodaje się w panelu UniCloud [5], zmieniając topologię środowiska:

Rysunek 6: Panel zmiany topologii środowiska

Wybierając kontener Docker-ce, w sekcji Skalowanie poziome można zmienić ilość kontenerów Runner. Zastosuj zmiany.

Rysunek 7: Dodanie kontenerów Docker

Dodaliśmy dwa nowe kontenery Runner.

Rysunek 8: Topologia po zmianie ilości węzłów

Zostały one automatycznie zarejestrowane na serwerze Git.

Rysunek 9: Panel serwera po rekonfiguracji

Możemy teraz importować nasze projekty z GitHub na własny serwer GitLab, tworzyć nowe projekty, zarządzać zespołem, aktualizować serwer etc.

Aktualizacja serwera GitLab

Pakiet wyposażony jest w procedurę aktualizacji serwera GitLab. Podczas aktualizacji sprawdzana jest dostępność nowej wersji w repozytorium [4]. Aktualizacja dostępna jest w dodatkach panelu UniCloud [5]:

Rysunek 10: Aktualizacja serwera

Info:

[1] GitLab: https://about.gitlab.com/product/

[2] Repozytorium GitLab: https://github.com/sameersbn/docker-gitlab

[3] Jelastic, Blog: https://jelastic.com/blog/private-gitlab-server-auto-installation/

[4] Manifest serwera GitLab: https://github.com/jelastic-jps/gitlab/blob/master/manifest.jps

[5] Panel UniCloud: https://app.unicloud.pl


Piotr Niemcewicz

Jestem inżynierem w Centrum Danych i Usług Chmurowych Asseco Data Systems S.A., gdzie zajmuję się projektowaniem i wsparciem podczas wdrażania systemów.


Wydrukuj