Sådan installeres GitLab på Debian 12 eller 11

GitLab er en omfattende DevOps-platform, der giver en bred vifte af funktioner til versionskontrol, kontinuerlig integration, implementering og projektstyring. Den integrerer forskellige stadier af DevOps-livscyklussen i en enkelt applikation, hvilket gør det muligt for teams at arbejde sammen og effektivt. GitLab Community Edition (CE) er open source-versionen af ​​GitLab, der tilbyder kraftfulde værktøjer til håndtering af repositories, sporing af problemer og automatisering af CI/CD-pipelines.

For at installere GitLab CE på Debian 12 eller 11, kan du bruge det officielle GitLab Bash-script til at opsætte GitLab CE APT-lageret og derefter installere og konfigurere softwaren. Denne guide vil lede dig gennem hele processen og sikre, at du har en robust GitLab-opsætning på dit Debian-system.

Opdater Debian før installation af Gitlab

At holde dit Debian-operativsystem opdateret er afgørende for at bevare dets stabilitet og sikkerhed. For at sikre, at alle eksisterende pakker på dit Debian-system er opdaterede, anbefales det at udføre en opdatering for at levere de seneste sikkerhedsopdateringer og fejlrettelser, hvilket sikrer dit systems stabilitet og pålidelighed.

Du kan nemt opdatere dit Debian-operativsystem ved at køre følgende kommando:

sudo apt update && sudo apt upgrade 

Installer påkrævede pakker til GitLab

At sikre, at alle afhængigheder for GitLab er installeret, er et kritisk trin i installationsprocessen. Disse afhængigheder er nødvendige komponenter, som GitLab er afhængig af for at fungere korrekt. Heldigvis er det en simpel proces at installere disse afhængigheder.

Du kan nemt installere dem ved at åbne terminalen og køre følgende kommando:

sudo apt install curl ca-certificates apt-transport-https tzdata perl

Importer GitLab CE APT Repository

Som standard er GitLab ikke tilgængelig i Debians standarddepoter. Dette betyder, at du skal oprette et depot manuelt for at installere GitLab. GitLab giver dog et APT-script til at hjælpe med denne proces, hvilket gør det nemmere for brugerne at installere platformen. Med dette script kan du oprette et GitLab-lager, som gør det muligt for dig at installere GitLab ved hjælp af standard APT-pakkehåndtering.

For at downloade scriptet skal du indtaste følgende kommando i din terminal:

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

Når du udfører denne kommando, vil scriptet downloade og tilføje GitLab-lageret til dit Debian-system. Det vil også opdatere pakkelisten, så du kan installere GitLab ved hjælp af standard APT-pakkehåndtering.

Afslut GitLab-installationen via APT Command

Det næste trin er at installere GitLab. Husk, at scriptet allerede har brugt kommandoen "apt update" til at synkronisere det nyoprettede og ændrede lager. Når det er gjort, kan du nu fortsætte med at udføre installationskommandoen ved at køre følgende:

sudo apt install gitlab-ce

Denne kommando vil installere GitLab Community Edition (CE), den gratis og open source-version af GitLab. Installationsprocessen kan tage noget tid, afhængigt af din internethastighed og systemspecifikationer.

Eksempel på output hvis GitLab-installationen er vellykket på Debian:

Konfigurer GitLab

For at konfigurere GitLab på Debian skal flere trin følges omhyggeligt. Dette afsnit vil beskrive processen trin-for-trin, herunder konfiguration af værtsnavnet, opsætning af firewallen og konfiguration af e-mail-indstillinger.

Konfigurer værtsnavnet

For at få adgang til din GitLab-instans er det afgørende at konfigurere værtsnavnet til din GitLab-server, så vælg et navn, der er nemt at huske og få adgang til. Følg disse trin for at konfigurere værtsnavnet:

Åbn GitLab-konfigurationsfilen ved hjælp af en teksteditor:

sudo nano /etc/gitlab/gitlab.rb

Find ekstern_url-indstillingen, og erstat eksempel-URL'en med dit ønskede værtsnavn:

external_url 'https://gitlab.example.com'

Gem filen og afslut teksteditoren.

Genkonfigurer nu GitLab for at anvende ændringerne:

sudo gitlab-ctl reconfigure

Opsæt UFW Firewall til Gitlab

GitLab bruger port 80 til HTTP og port 443 til HTTPS som standard. Det er afgørende at konfigurere din firewall til at tillade trafik på disse porte og sikre, at din GitLab-instans er tilgængelig.

Følg disse trin for at konfigurere firewallen:

Først skal du installere UFW-firewallen, da denne ikke kommer installeret på Debian som standard, med følgende kommando:

sudo apt install ufw

Når installationen er færdig, skal du aktivere UFW-firewallen med følgende kommando:

sudo ufw enable

Åbn firewall-konfigurationsfilen ved hjælp af en teksteditor:

sudo nano /etc/ufw/applications.d/gitlab

Kopier og indsæt følgende linjer i filen:

[GitLab]
title=GitLab
description=GitLab application
ports=80,443/tcp

Gem filen og afslut teksteditoren.

Aktiver GitLab-applikationen i firewallen:

sudo ufw app update GitLab
sudo ufw allow GitLab

Konfigurer e-mail-indstillinger

GitLab bruger e-mail-meddelelser til at informere brugere om projektaktiviteter, såsom nye problemer, fletteanmodninger og kommentarer.

Følg disse trin for at konfigurere e-mail-indstillinger:

Åbn GitLab-konfigurationsfilen ved hjælp af en teksteditor:

sudo nano /etc/gitlab/gitlab.rb

Find indstillingen gitlab_rails['smtp_enable'] og indstil den til sand:

gitlab_rails['smtp_enable'] = true

Tilføj følgende linjer til filen for at konfigurere SMTP-serverindstillingerne for din e-mailudbyder, såsom Gmail:

gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "example@gmail.com"
gitlab_rails['smtp_password'] = "your_password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Gem filen og afslut teksteditoren.

Genkonfigurer GitLab for at anvende ændringerne:

sudo gitlab-ctl reconfigure

Det er vigtigt at bemærke, at efter at have udført kommandoen "gitlab-ctl reconfigure", kan du se, at terminaloutputtet afsluttes med følgende meddelelse:

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

For at se root-adgangskoden (GitLab) skal du udføre følgende kommando i din terminal:

sudo cat /etc/gitlab/initial_root_password

Udførelse af denne kommando vil vise root-adgangskoden i terminalen. Det er afgørende at holde denne adgangskode sikker og ikke dele den med uautoriserede brugere.

Hvis du har brug for at nulstille root-adgangskoden, kan du bruge følgende kommando:

sudo gitlab-rake "gitlab:password:reset[root]"

Efter at have udført denne kommando, nulstilles root-adgangskoden til en tilfældig streng, der vises i terminalens output. Det er vigtigt at huske, at nulstilling af root-adgangskoden vil ugyldiggøre alle eksisterende og personlige adgangstokens, så brugere skal oprette nye efter nulstilling af adgangskoden.

Af sikkerhedsmæssige årsager anbefales det, at du ændrer root-adgangskoden til en stærk og unik hurtigst muligt efter den første opsætning og undgår at bruge standardadgangskoden. Du kan ændre root-adgangskoden ved at logge ind på GitLab-webgrænsefladen, gå til "Brugerindstillinger"> "Konto" og vælge indstillingen "Skift adgangskode".

Få adgang til GitLab-brugergrænsefladen

Når backend-konfigurationen er færdig, er det tid til at logge på og få adgang til GitLab. For at opnå dette skal du åbne den domænesti, der er tildelt GitLab i konfigurationsfilen.

https://gitlab.example.com

Log derefter på GitLab med brugernavnet "root" og adgangskoden, du modtog under installationen. Som nævnt i det foregående afsnits password-udskrift var vejledningens password "4zB2mbBLCcRLRAkv3qHfmSZULJ/6ocJNe2XK8zNx9nU=" på billedet.

Du har med succes logget ind som root-kontoen og kommer til standarddestinationssiden.

Yderligere tips

Nedenfor er nogle anbefalinger til sikring, tilpasning eller andre generelle førstegangstip, når du første gang logger ind på GitLab-brugergrænsefladen:

  • Skift standardadgangskoden: For at øge sikkerheden for din GitLab-instans er det afgørende at ændre root-brugerens standardadgangskode. Log ind på GitLab med standardbrugernavnet og -adgangskoden, naviger til "Brugerindstillinger"> "Password", og indtast din nye adgangskode.
  • Konfigurer to-faktor-godkendelse (2FA): Tilføjelse af en godkendelsesfaktor, såsom en kode sendt til din telefon eller genereret af en app, til login-processen er et ekstra sikkerhedslag leveret af 2FA. For at aktivere 2FA i GitLab skal du navigere til "Brugerindstillinger"> "Konto"> "Tofaktorgodkendelse" og følge instruktionerne.
  • Opret et projekt: For at oprette et nyt projekt i GitLab skal du gå til siden "Projekter" og klikke på knappen "Nyt projekt". Du kan oprette et tomt projekt eller importere et eksisterende projekt fra et Git-lager.
  • Tilpas brugergrænsefladen: GitLab tillader flere tilpasningsmuligheder, såsom at ændre temaet, tilføje et brugerdefineret logo og konfigurere navigationslinjen. Naviger til "Administrationsområde"> "Indstillinger", og vælg de relevante muligheder for at tilpasse brugergrænsefladen.
  • Konfigurer adgangskontrol: GitLabs kraftfulde adgangskontrolfunktioner giver dig mulighed for at kontrollere, hvem der kan få adgang til dine projekter, og hvad de kan. Naviger til "Projektindstillinger"> "Medlemmer", og tilføj eller fjern medlemmer med forskellige adgangsniveauer for at konfigurere adgangskontrol.
  • Brug GitLab CI/CD: GitLabs kraftfulde CI/CD-funktioner automatiserer test og implementering af din kode. Konfigurer CI/CD-pipelines ved at oprette en ".gitlab-ci.yml"-fil i dit projekts rodmappe og definere stadierne og jobs for din pipeline.
  • Konfigurer GitLab Runner: GitLab Runner er en letvægtsagent, der kører CI/CD-job og sender resultaterne tilbage til GitLab. Følg instruktionerne i GitLab-dokumentationen for at installere og konfigurere GitLab Runner på dit Debian-system.
  • Sikkerhedskopier din GitLab-instans: Sikkerhedskopier regelmæssigt din GitLab-instans for at forhindre tab af data i tilfælde af hardwarefejl eller andre katastrofer. Kør kommandoen "gitlab-rake gitlab:backup:create" i din terminal for at sikkerhedskopiere din GitLab-instans.

Opret Cronjob til GitLab Auto Backup

Opsætning af et cronjob til GitLab auto-backup på Debian er afgørende for at sikre sikkerheden og sikkerheden af ​​dine data. Et cronjob er en planlagt opgave, der automatisk kører med bestemte intervaller for at udføre en backup af din GitLab-instans. Følg disse trin for at oprette en cronjob til GitLab auto-backup på Debian.

Opret et Gitlab Backup Script

Det første trin er at oprette et backup-script til at udføre din GitLab-instans' backup. Følg disse trin:

Brug en teksteditor til at oprette en ny fil til dit backupscript. Her er et eksempel:

sudo nano /usr/local/bin/gitlab-backup.sh

Indsæt følgende kode i filen:

#!/bin/bash

BACKUP_DIR=/var/opt/gitlab/backups
TIMESTAMP=$(date +%s)

sudo gitlab-rake gitlab:backup:create

sudo cp ${BACKUP_DIR}/$(ls -t ${BACKUP_DIR} | head -1) ${BACKUP_DIR}/gitlab_backup_${TIMESTAMP}.tar
  • Gem filen og afslut teksteditoren.

Dette script vil generere en sikkerhedskopi af din GitLab-instans ved at køre kommandoen gitlab-rake gitlab:backup:create. Efter oprettelse af sikkerhedskopien vil den duplikere den seneste sikkerhedskopi til en ny fil med et tidsstempel i filnavnet.

Indstilling af tilladelser og ejerskab

Det efterfølgende trin er at etablere de relevante tilladelser og ejerskab for backupscriptet for at sikre, at cronjob kan udføre det. Følg disse trin:

Indstil ejeren af ​​backupscriptet til den bruger, der er knyttet til GitLab:

sudo chown git:git /usr/local/bin/gitlab-backup.sh

Indstil tilladelserne for sikkerhedskopieringsscriptet for at aktivere udførelse:

sudo chmod +x /usr/local/bin/gitlab-backup.sh

Oprettelse af en Cronjob

Det næste trin er at oprette en cronjob for at planlægge sikkerhedskopieringsscriptet til at køre regelmæssigt. Følg disse trin:

Følg disse trin for at åbne crontab-konfigurationsfilen for GitLab-brugeren:

sudo crontab -u git -e

For at planlægge sikkerhedskopieringsscriptet til at køre hver dag kl. 1:00, skal du tilføje følgende linje til crontab-konfigurationsfilen for GitLab-brugeren:

0 1 * * * /path/to/backup/script.sh

Gem filen og afslut teksteditoren.

Denne cronjob vil automatisk udføre backup-scriptet hver dag kl. 1:00, hvilket resulterer i en ny backup-fil med et tidsstempel i filnavnet.

Test af Cronjob

Du kan verificere cronjob-funktionerne korrekt ved manuelt at udføre backup-scriptet og sikre, at backup-filen genereres uden fejl. For at udføre denne test skal du indtaste følgende kommando i din terminal:

sudo /usr/local/bin/gitlab-backup.sh

Denne kommando vil generere en ny backup-fil i mappen "/var/opt/gitlab/backups". Filnavnet vil inkludere et tidsstempel for at angive, hvornår sikkerhedskopien blev oprettet.

GitLab-terminalkommandoer

GitLab-ctl er et kommandolinjeværktøj til styring af GitLab på Debian. Det giver et sæt terminalkommandoer til blandt andet at starte, stoppe, genstarte og administrere GitLab-tjenester. Her er et detaljeret afsnit om GitLab-ctl terminalkommandoer sammen med eksempelkommandoer og output med forklaringer.

Start og stop af GitLab-tjenester

For at starte og stoppe GitLab-tjenester skal du bruge følgende kommandoer:

Start alle GitLab-tjenester:

sudo gitlab-ctl start

Stop alle GitLab-tjenester:

sudo gitlab-ctl stop

Genstart alle GitLab-tjenester:

sudo gitlab-ctl restart

Genindlæs GitLab-tjenester:

sudo gitlab-ctl reload

Disse kommandoer vil starte, stoppe, genstarte eller genindlæse alle GitLab-tjenester. Outputtet vil indikere, hvilke tjenester der startes eller stoppes, og om operationen lykkedes.

Kontrol af status for GitLab-tjenester

For at kontrollere status for GitLab-tjenester skal du bruge følgende kommando:

sudo gitlab-ctl status

Disse kommandoer vil starte, stoppe, genstarte eller genindlæse alle GitLab-tjenester. Efter udførelse af kommandoen vil output vise, hvilke tjenester der er berørt, og om operationen lykkedes.

Sikkerhedskopiering og gendannelse af GitLab-data

Du kan oprette en sikkerhedskopi af GitLab-data ved at bruge følgende kommando:

Opret en sikkerhedskopi af GitLab-data:

sudo gitlab-rake gitlab:backup:create

Den angivne kommando vil oprette en backup-fil, der indeholder alle GitLab-data, såsom depoter, brugerdata og konfigurationsfiler. Sikkerhedskopieringsfilen vil blive gemt i mappen: "/var/opt/gitlab/backups".

Gendan en sikkerhedskopi af GitLab-data:

sudo gitlab-rake gitlab:backup:restore BACKUP=<backup_file>

Ved at bruge denne kommando kan du gendanne en sikkerhedskopi af GitLab-data fra en specifik backup-fil. Sikkerhedskopieringsfilen skal være i mappen "var/opt/gitlab/backups", eller du kan angive den fulde sti til backupfilen.

Kontrollerer GitLab-konfigurationen

Du kan bruge følgende kommando til at kontrollere konfigurationen af ​​GitLab:

sudo gitlab-rake gitlab:check

Denne kommando kan scanne for fejl eller advarsler i GitLab-konfigurationen, inklusive forældede versioner, manglende afhængigheder og forkert konfigurerede indstillinger. Outputtet vil opsummere scanningsresultaterne og detaljerede oplysninger om eventuelle opdagede problemer.

Kontrollerer GitLab-logfiler

Sådan kontrollerer du GitLab-logfiler ved hjælp af følgende kommandoer:

Se GitLab-logfilerne:

sudo gitlab-ctl tail gitlab-rails/production.log

Du kan bruge følgende kommando til at se de sidste ti linjer i GitLab-produktionsloggen, som beskriver brugerhandlinger, advarsler og fejl.

Se GitLab NGINX-logfilerne:

sudo gitlab-ctl tail nginx/gitlab_access.log

Denne kommando viser de sidste ti linjer i GitLab NGINX-adgangsloggen, der indeholder detaljer vedrørende HTTP-anmodninger og -svar.

Se GitLab PostgreSQL-logfilerne:

sudo gitlab-ctl tail postgresql/current

Denne kommando viser de sidste ti linjer i GitLab PostgreSQL-loggen, som indeholder information om databaseforespørgsler og transaktioner.

Konklusion

Med GitLab CE installeret på dit Debian-system ved hjælp af det officielle opsætningsscript, kan du drage fuld fordel af dets kraftfulde DevOps-funktioner. Denne metode sikrer, at du har den nyeste version og nem adgang til opdateringer. Vedligehold og opdater regelmæssigt din GitLab-instans for at drage fordel af de nyeste funktioner og sikkerhedsforbedringer. Nyd de sømløse integrations- og samarbejdsværktøjer, som GitLab CE tilbyder til dine udviklingsprojekter.

Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)

Skriv en kommentar