GitLab CE to aplikacja open source wykorzystywana przede wszystkim do organizacji repozytoriów Git, z dodatkowymi funkcjami, takie jak śledzenie problemów. Został on zaprojektowany w takim sposób, aby można było obsługiwać własną infrastrukturę oraz zapewnić elastyczność podczas wdrażania jako wewnętrzny sklep repozytoriów dla zespołu projektowego. Publicznie udostępnioną funkcjonalnością może być interakcja z użytkownikami poprzez zgłoszenia, albo funkcja organizacji własnych projektów dla autorów.
Wymagania
Zakładamy, że masz dostęp do nowego serwera Ubuntu 16.04. W opublikowanych wymaganiach sprzętowych GitLab zalecane jest użycie serwera z:
- 2 rdzenie
- 4 GB pamięci RAM
Chociaż może będziesz w stanie zastąpić pewną przestrzeń wymiany RAM, to nie jest zalecane. W tym tutorialu zakładamy, że masz powyższe zasoby jako minimum.
Aby zacząć, musisz być zalogowany jako użytkownik inny niż root z uprawnieniami sudo. Również dobrym pomysłem jest stosowanie podstawowego firewall, aby zapewnić dodatkową warstwę bezpieczeństwa. Możesz dowiedzieć się więcej o tym w naszym tutorialu Wstępna Konfiguracja serwera z Ubuntu 16.04.
Gdy są spełnione powyższe wymagania, możemy rozpocząć procedurę instalacji.
Instalacja dodatkowych pakietów
Zanim będziemy mogli zainstalować GitLab, ważne jest, aby zainstalować pakiety, które będą wykorzystane podczas instalacji i później. Na szczęście, wymagane oprogramowanie można łatwo zainstalować z repozytoriów pakietów domyślnych Ubuntu.
Ponieważ po raz pierwszy używamy apt
podczas tej sesji, możemy zaktualizować lokalny indeks pakietów, a następnie zainstalować zależności wpisując:
sudo apt-get update
sudo apt-get install ca-certificates curl openssh-server postfix
Prawdopodobnie niektóre oprogramowanie już masz zainstalowane. Dla instalacji postfix
, wybierz Internet Site, gdy pojawi się odpowiedni komunikat. Na następnym ekranie wpisz nazwę domeny lub adres IP serwera, aby skonfigurować jak system będzie wysyłać wiadomości email.
Instalacja GitLab
Teraz, gdy zależności są na miejscu, możemy zainstalować GitLab. Jest to prosty proces, który wykorzystuje skrypt instalacyjny, aby skonfigurować system z repozytoriów GitLab.
Przejdź do katalogu /tmp, a następnie pobierz skrypt instalacyjny:
cd /tmp
curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
Nie wahaj się sprawdzić pobrany skrypt, aby upewnić się, że zapoznałeś się z działaniami, które będziemy podejmować. Można również znaleźć zamieszczoną wersję skryptu tutaj:
less /tmp/script.deb.sh
Gdy jesteś zadowolony z bezpieczeństwa skryptu, uruchom instalator:
sudo bash /tmp/script.deb.sh
Skrypt skonfiguruje serwer do korzystania z obsługiwanych repozytoriów GitLab. To pozwoli zarządzać GitLab z tych samych narzędzi, które używasz do innych pakietów systemowych. Po wykonaniu tych czynności można zainstalować rzeczywistą aplikację GitLab z apt
:
sudo apt-get install gitlab-ce
Spowoduje to zainstalowanie niezbędnych składników w systemie. Zanim będzie można korzystać z aplikacji, trzeba jednak uruchomić polecenie konfiguracji początkowej:
sudo gitlab-ctl reconfigure
To będzie inicjować GitLab, korzystając z informacji, którą może on znaleźć o Twoim serwerze. Jest to całkowicie zautomatyzowany proces, dzięki czemu nie będziesz musiał odpowiadać na wszelkie monity.
Ustawienie Reguł Zapory
Zanim uzyskasz dostęp do GitLab po raz pierwszy, musisz upewnić się, że reguły zapory są dość liberalne w celu umożliwienia normalnego ruchu internetowego.
Zobacz aktualny stan aktywnej zapory, wpisując:
sudo ufw status
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)
Jak widać, obecne reguły dopuszczają ruch przez SSH, ale dostęp do innych usług jest ograniczona. Ponieważ GitLab jest aplikacją internetową, należy umożliwić dostęp HTTP.
Ponieważ protokół mapowania portów dla HTTP jest dostępny w pliku /etc/services, możemy zezwolić ruch na jego nazwę. Jeśli nie masz włączonego ruchu OpenSSH, należy włączyć go teraz:
sudo ufw allow http
sudo ufw allow OpenSSH
Jeśli ponownie sprawdzisz ufw status
, powinieneś zobaczyć skonfigurowany dostęp, przynajmniej do tych dwóch usług:
sudo ufw status
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 80 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 80 (v6) ALLOW Anywhere (v6)
Teraz powinieneś być w stanie uzyskać dostęp do interfejsu WWW GitLab.
Wykonywanie Wstępnej Konfiguracji przez Interfejs WWW
Teraz, kiedy GitLab działa i dostęp jest dozwolony, możemy wykonać wstępną konfigurację aplikacji poprzez interfejs WWW.
Logowanie po raz pierwszy
Odwiedź nazwę domeny serwera GitLab w przeglądarce internetowej:
http://gitlab_domain_or_IP
Przy pierwszej wizycie, powinieneś zobaczyć początkowy wiersz dla ustawienia hasła dla konta administratora:
W początkowym monitu wpisz i potwierdź bezpieczne hasło dla konta administracyjnego. Kliknij przycisk Change your password po zakończeniu.
Zostaniesz przekierowany do na zwykłą stronę logowania GitLab:
Tutaj możesz zalogować się za pomocą hasła, które właśnie ustawiłeś. Dane logowania:
- Username: root
- Password: [ustawione hasło]
Wprowadź te wartości w polach dla istniejących użytkowników, a następnie kliknij na przycisk Sign in. Będziesz zalogowany do aplikacji i przeniesiony na stronę, która zaoferuje ci przystąpić do dodawania projektów:
Teraz możesz zrobić kilka prostych zmian, aby skonfigurować GitLab tak, jak chcesz.
Regulacja Ustawień Profilu
Jedną z pierwszych rzeczy, które należy zrobić po świeżej instalacji, jest uzyskanie Swego profilu w lepszej kondycji. GitLab wybiera niektóre rozsądne wartości domyślne, ale one zwykle nie są właściwe po rozpoczęciu korzystania z oprogramowania.
Aby wprowadzić niezbędne modyfikacje, kliknij ikonę użytkownika w prawym górnym rogu interfejsu. W wyświetlonym rozwijanym w dół menu, wybierz Profile Settings:
Zostaniesz przeniesiony do sekcji Profile w ustawieniach:
Dostosuj Name i Email address z “Administrator” i “admin@example.com” na coś bardziej dokładne. Nazwa, którą wybierzesz, będzie widoczna dla innych użytkowników, a email będzie używany do wykrywania domyślnego awataru, powiadomień, działań Git poprzez interfejs itp
Kliknij na przycisk Update Profile settings na dole po zakończeniu:
Email z potwierdzeniem zostanie wysłany na podany adres. Postępuj zgodnie z instrukcjami zawartymi w emailu, aby potwierdzić swoje konto, dzięki czemu można zacząć używać GitLab.
Zmiana Nazwy Konta
Następnie kliknij na pozycję menu Account na górze strony:
Tutaj można znaleźć swój prywatny API token lub skonfigurować uwierzytelnianie dwuetapowe. Jednak funkcjonalność, która interesuje nas w tej chwili jest sekcja Change username.
Domyślnie pierwsze konto administracyjne jest przypisane do nazwy root. Ponieważ jest to znana nazwa konta, bardziej bezpieczne jest zmienić ją na inną nazwę. Nadal będziesz mieć uprawnienia administratora; jedyną rzeczą, która się zmieni jest nazwa:
Kliknij na przycisk Update username, aby dokonać zmiany:
Następnym razem, gdy będziesz logować się do GitLab, należy pamiętać, aby użyć nową nazwę użytkownika.
Dodanie Klucza SSH do Konta
W większości przypadków, będziesz chciał używać kluczy SSH za pomocą polecenia git dla interakcji ze swoimi projektami GitLab. Aby to zrobić, trzeba dodać swój klucz publiczny SSH do konta GitLab.
Jeśli masz już parę kluczy SSH utworzonych na komputerze lokalnym, zwykle można zobaczyć klucz publiczny wpisując:
cat ~/.ssh/id_rsa.pub
Powinieneś zobaczyć duży kawałek tekstu, na przykład:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop
Skopiuj ten tekst i wróć do strony Profile Settings w interfejsie internetowym użytkownika GitLab.
Jeżeli natomiast pojawi się następujący komunikat, to znaczy że nie masz jeszcze parę kluczy SSH skonfigurowanych na komputerze:
cat: /home/sammy/.ssh/id_rsa.pub: No such file or directory
W takim przypadku możesz utworzyć parę kluczy SSH, wpisując:
ssh-keygen
Zaakceptuj ustawienia domyślne i w razie potrzeby wprowadź hasło w celu zabezpieczenia klucza lokalnie:
Generating public/private rsa key pair. Enter file in which to save the key (/home/sammy/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/sammy/.ssh/id_rsa. Your public key has been saved in /home/sammy/.ssh/id_rsa.pub. The key fingerprint is: SHA256:I8v5/M5xOicZRZq/XRcSBNxTQV2BZszjlWaIHi5chc0 sammy@gitlab.docsthat.work The key's randomart image is: +---[RSA 2048]----+ | ..%o==B| | *.E =.| | . ++= B | | ooo.o . | | . S .o . .| | . + .. . o| | + .o.o ..| | o .++o . | | oo=+ | +----[SHA256]-----+
Gdy masz ten problem, można wyświetlić swój klucz publiczny, jak opisane powyżej, przez wpisywanie:
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMuyMtMl6aWwqBCvQx7YXvZd7bCFVDsyln3yh5/8Pu23LW88VXfJgsBvhZZ9W0rPBGYyzE/TDzwwITvVQcKrwQrvQlYxTVbqZQDlmsC41HnwDfGFXg+QouZemQ2YgMeHfBzy+w26/gg480nC2PPNd0OG79+e7gFVrTL79JA/MyePBugvYqOAbl30h7M1a7EHP3IV5DQUQg4YUq49v4d3AvM0aia4EUowJs0P/j83nsZt8yiE2JEYR03kDgT/qziPK7LnVFqpFDSPC3MR3b8B354E9Af4C/JHgvglv2tsxOyvKupyZonbyr68CqSorO2rAwY/jWFEiArIaVuDiR9YM5 sammy@mydesktop
Skopiuj blok tekstu, który jest wyświetlany i wróć do Profile Settings w interfejsie WWW GitLab.
Kliknij na pozycji menu SSH Keys w górnym pasku menu:
W wyznaczonym miejscu wklej klucz publiczny, skopiowany z komputera lokalnego. Podaj mu opisowy tytuł, a następnie kliknij przycisk Add key:
Teraz powinieneś być w stanie zarządzać projektami GitLab i repozytoriami z lokalnego komputera bez konieczności podania swoich danych do konta GitLab.
Ograniczenie lub Wyłączenie Publicznej Rejestracji (opcjonalnie)
Prawdopodobnie zauważyłeś, że jest to możliwe dla każdego, aby zarejestrować się do konta podczas odwiedzania strony docelowej GitLab instancji. To może być to, czego potrzebujesz, jeżeli masz zamiar zorganizować publiczny projekt. Jednak w wielu przypadkach, bedą żądane bardziej restrykcyjne parametry.
Aby rozpocząć, należy przejść do obszaru administracyjnego klikając na ikonę klucza w prawym górnym rogu:
Na stronie można zobaczyć przegląd instancji GitLab jako całości. Aby zmienić ustawienia, kliknij ikonę koła zębatego w prawym górnym rogu i wybierz Settings z rozwijanego menu, które się pojawi:
Zostaniesz przeniesiony do globalnych ustawień dla instancji GitLab. Tutaj można ustawić szereg ustawień, które wpływają, czy nowi użytkownicy mogą się zarejestrować i jaki będzie ich poziom dostępu.
Wyłączenie Rejestracji
Jeśli chcesz całkowicie wyłączyć rejestracje (nadal można ręcznie tworzyć konta dla nowych użytkowników), odwiedź sekcję Sign-up Restrictions.
Usuń zaznaczenie w polu wyboru Sign-up enabled:
Przewiń w dół i kliknij przycisk Save:
Sekcja rejestracji powinna zostać usunięta ze strony docelowej GitLab.
Wniosek
Teraz powinno mieć pracujący przykład GitLab, umieszczony na własnym serwerze. Możesz zacząć importować lub tworzyć nowe projekty i skonfigurować odpowiedni poziom dostępu dla swojego zespołu.
Zanim przejść dalej, należy skonfigurować szyfrowanie SSL dla serwera GitLab. Bez ochrony SSL, hasła oraz dane osobowe mogą zostać przechwycone przez inne osoby w sieci. Na szczęście, w projektach takich jak Let’s Encrypt, jest stosunkowo proste, aby uzyskać bezpłatny certyfikat SSL zaufany w przeglądarkach.
Comments 2 komentarze
SpeX
Czy ja muszę jeszcze nabyć jakaś licencję na tego gitlaba? Czy to jest 100% free?
Anka
Cześć wielkie dzięki za post !