15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
31.10.2024
1 +1

Cum să instalezi GitLab pe Ubuntu: Ghid complet pas cu pas

GitLab este una dintre cele mai puternice platforme DevOps open-source disponibile astazi, oferind o suita cuprinzatoare de instrumente, inclusiv control de versiuni bazat pe Git, conducte de integrare continua/livrare continua (CI/CD), urmarire probleme si caracteristici de colaborare in echipa — toate intr-un singur loc. Fie ca gestionezi o mica echipa de dezvoltare sau rulezi proiecte software la scara intreprinderii, auto-gazduirea GitLab pe Ubuntu iti ofera control deplin asupra datelor, fluxurilor de munca si infrastructurii tale.

Acest ghid te ghideaza prin fiecare pas al instalarii si configurarii GitLab Community Edition (CE) pe un server Ubuntu, de la pregatirea initiala a sistemului pana la activarea HTTPS si gestionarea serviciilor.

Cerinte preliminare

Inainte de a incepe, asigura-te ca ai urmatoarele in loc:

  • Un server care ruleaza Ubuntu 20.04 sau 22.04 LTS (instalare noua recomandatã)
  • Minim 4 GB RAM si 2 nuclee CPU (GitLab recomanda cel putin 4 nuclee pentru utilizarea in productie)
  • Acces root sau sudo la server
  • Un nume de domeniu inregistrat care indica adresa IP a serverului tau (optional dar puternic recomandat pentru HTTPS)
  • Porturile 80 si 443 deschise in firewall-ul tau

> Sfat: Pentru cea mai buna performanta GitLab, considera implementarea pe un plan VPS Hosting cu RAM si resurse CPU suficiente. Planurile VPS AlexHost sunt optimizate pentru sarcinile Linux si vin cu acces root complet, facandu-le un mediu ideal pentru platforme DevOps auto-gazduire cum ar fi GitLab.

Pasul 1: Actualizeaza pachetele sistemului

Inainte de a instala orice software, este critic sa te asiguri ca indexul pachetelor sistemului tau si pachetele instalate sunt complet actualizate. Aceasta previne conflictele de dependente si asigura ca lucrezi cu cele mai recente patch-uri de securitate.

sudo apt update && sudo apt upgrade -y

Asteapta ca procesul de upgrade sa se finalizeze inainte de a trece la pasul urmator.

Pasul 2: Instaleaza dependentele necesare

GitLab necesita mai multe pachete de suport pentru a functiona corect, inclusiv instrumente pentru comunicare sigura, gestionarea fusului orar si scripting. Instaleaza-le cu urmatoarea comanda:

sudo apt install -y curl openssh-server ca-certificates tzdata perl

Iata ce face fiecare pachet:

PachetScop
curlDescarca scripturi si fisiere de pe web
openssh-serverActiveaza accesul SSH la serverul tau
ca-certificatesValideaza certificatele SSL/TLS
tzdataFurnizeaza date despre fus orar
perlNecesar pentru scripturile interne GitLab

Pasul 3: Adauga depozitul oficial GitLab

GitLab intretine un depozit oficial de pachete care face instalarea si upgrade-urile viitoare simple. Foloseste urmatoarea comanda pentru a descarca si executa scriptul de configurare a depozitului:

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Acest script efectueaza automat:

  • Detecteaza versiunea ta Ubuntu
  • Adauga depozitul de pachete GitLab la sursele APT
  • Importa cheia de semnare GPG a depozitului pentru verificarea pachetelor

Odata ce scriptul se termina, sistemul tau este gata sa instaleze GitLab direct din sursa oficiala.

Pasul 4: Instaleaza GitLab Community Edition

Acum instaleaza GitLab CE folosind managerul de pachete apt. Trebuie sa setezi variabila de mediu EXTERNAL_URL la URL-ul sau adresa IP prin care utilizatorii vor accesa instanta ta GitLab.

Daca ai un nume de domeniu:

sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ce

Daca folosesti o adresa IP (de exemplu, pentru un server local sau privat):

sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ce

Inlocuieste gitlab.yourdomain.com sau YOUR_SERVER_IP cu domeniul sau adresa IP reala.

> Nota: Procesul de instalare poate dura cateva minute deoarece descarca si configureaza toate componentele GitLab, inclusiv PostgreSQL, Redis, NGINX si Sidekiq.

In timpul instalarii, GitLab va:

  • Instala toate serviciile incluse (baza de date, cache, server web, etc.)
  • Se configureaza pe baza EXTERNAL_URL pe care l-ai furnizat
  • Genereaza fisiere de configurare initiala in /etc/gitlab/

Pasul 5: Ruleaza reconfigurarea GitLab

Dupa instalare, ruleaza comanda de reconfigurare pentru a finaliza configurarea, a initializa baza de date si a porni toate serviciile GitLab:

sudo gitlab-ctl reconfigure

Aceasta comanda citeste configuratia din /etc/gitlab/gitlab.rb si aplica toate setarile. De asemenea, genereaza certificatele SSL (daca Let’s Encrypt este configurat), configureaza schema bazei de date si porneste toate serviciile de fundal necesare.

Ar trebui sa vezi o iesire lunga care se termina cu un mesaj similar cu:

gitlab Reconfigured!

Pasul 6: Acceseaza GitLab in browserul tau web

Odata ce reconfigurarea este completa, deschide browserul web si naviga la URL-ul pe care l-ai specificat in timpul instalarii:

https://gitlab.yourdomain.com

sau

http://YOUR_SERVER_IP

Conectare pentru prima data

La prima vizita, GitLab iti va cere sa setezi o parola de administrator. Dupa setarea acesteia, conecteaza-te folosind urmatoarele credentiale:

  • Nume utilizator: root
  • Parola: Parola pe care tocmai ai creat-o

> Sfat de securitate: Schimba credentialele contului implicit root imediat dupa prima conectare. Creeaza un cont admin personal si restrictioneaza contul root doar pentru utilizare in caz de urgenta.

Pasul 7: Configureaza notificarile prin email GitLab (Optional)

Trimiterea notificarilor prin email este esentiala pentru o instanta GitLab in productie — activeaza caracteristici cum ar fi verificarea contului, actualizari de cereri de fuziune, alerte CI/CD si resetari de parola. Configureaza setarile SMTP in fisierul principal de configurare GitLab:

sudo nano /etc/gitlab/gitlab.rb

Adauga sau modifica urmatorul bloc de configurare SMTP:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourmailprovider.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@yourdomain.com"
gitlab_rails['smtp_password'] = "your_email_password"
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Salveaza fisierul si aplica modificarile:

sudo gitlab-ctl reconfigure

> Cauti o infrastructura de email fiabila? AlexHost ofera servicii profesionale de Email Hosting care se integreaza perfect cu aplicatiile auto-gazduire cum ar fi GitLab, oferind releu SMTP stabil cu livrabilitate inalta.

Pasul 8: Activeaza HTTPS cu Let’s Encrypt (Recomandat)

Rularea GitLab peste HTTPS este puternic recomandatã pentru orice mediu de productie sau echipa. GitLab are suport incorporat pentru Let’s Encrypt, o autoritate de certificare SSL libera si automatizata.

> Important: Let’s Encrypt necesita ca numele de domeniu sa fie accesibil public si ca portul 80 sa fie deschis pe serverul tau. Nu va functiona cu adrese IP brute.

Deschide fisierul de configurare GitLab:

sudo nano /etc/gitlab/gitlab.rb

Adauga urmatoarea configuratie:

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['your_admin_email@yourdomain.com']
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7"

Salveaza fisierul si reconfigureaza GitLab:

sudo gitlab-ctl reconfigure

GitLab va obtine si instala automat certificatul SSL, iar setarea auto_renew asigura ca este reinnoit inainte de expirare fara nicio interventie manuala.

> Alternativa: Daca preferi sa gestionezi certificatele SSL independent sau ai nevoie de certificatele wildcard/multi-domeniu, AlexHost ofera o gama de Certificatele SSL care pot fi configurate manual in setarile NGINX ale GitLab.

Pasul 9: Gestionarea serviciilor GitLab

GitLab grupeaza propriul instrument de gestionare a serviciilor numit gitlab-ctl. Foloseste urmatoarele comenzi pentru a controla serviciile GitLab:

Porneste GitLab

sudo gitlab-ctl start

Opreste GitLab

sudo gitlab-ctl stop

Reporneste GitLab

sudo gitlab-ctl restart

Verifica starea serviciului

sudo gitlab-ctl status

Vizualizeaza jurnalele in timp real

sudo gitlab-ctl tail

Vizualizeaza jurnalele pentru un serviciu specific (de exemplu, NGINX)

sudo gitlab-ctl tail nginx

Aceste comenzi sunt nepretuire pentru depanare si intretinere de rutina. Comanda status va afisa starea tuturor sub-serviciilor GitLab, inclusiv PostgreSQL, Redis, Sidekiq, Puma (server web) si NGINX.

Pasul 10: Configurare initiala GitLab pentru organizatia ta

Cu GitLab instalat si rulandu-se, este timp sa-l configurezi pentru nevoile echipei tale. Iata zonele cheie de configurat prin interfata web GitLab:

Gestionarea utilizatorilor

Naviga la Admin Area → Users pentru a crea conturi de utilizator pentru membrii echipei tale. Poti configura metode de autentificare, inclusiv LDAP, OAuth si SAML pentru autentificare unica la nivel de intreprindere.

Grupuri si proiecte

  • Grupurile iti permit sa organizezi proiectele conexe si sa gestionezi permisiunile la scara
  • Proiectele sunt depozite individuale cu propriile urmaritoare de probleme, wiki-uri si conducte CI/CD

Conducte CI/CD

CI/CD-ul incorporat al GitLab este una dintre cele mai puternice caracteristici ale sale. Creeaza un fisier .gitlab-ci.yml in radacina depozitului tau pentru a defini conducte automatizate de construire, testare si implementare.

Setarile depozitului

Configureaza regulile de protectie a ramurilor, aprobari de cereri de fuziune si fluxuri de revizuire a codului sub sectiunea Settings → Repository a fiecarui proiect.

Configurare backup

Configureaza backup-urile automatizate prin configurarea urmatoarelor in /etc/gitlab/gitlab.rb:

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800  # Keep backups for 7 days

Ruleaza un backup manual in orice moment cu:

sudo gitlab-backup create

Configurare firewall

Daca ai UFW (Uncomplicated Firewall) activat pe serverul Ubuntu, asigura-te ca permiti traficul HTTP si HTTPS:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

Depanare probleme comune

ProblemaSolutie
GitLab nu este accesibil dupa instalareVerifica regulile firewall-ului; verifica EXTERNAL_URL in /etc/gitlab/gitlab.rb
Eroare 502 Bad GatewayRuleaza sudo gitlab-ctl restart; verifica jurnalele cu sudo gitlab-ctl tail
Esec certificat
15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți