Hur man installerar GitLab på Debian 12 eller 11

GitLab är en omfattande DevOps-plattform som tillhandahåller ett brett utbud av funktioner för versionskontroll, kontinuerlig integration, distribution och projektledning. Den integrerar olika stadier av DevOps livscykel i en enda applikation, vilket gör det möjligt för team att arbeta tillsammans och effektivt. GitLab Community Edition (CE) är öppen källkodsversionen av GitLab, som erbjuder kraftfulla verktyg för att hantera repositories, spåra problem och automatisera CI/CD-pipelines.

För att installera GitLab CE på Debian 12 eller 11 kan du använda det officiella GitLab Bash-skriptet för att ställa in GitLab CE APT-förvaret och sedan installera och konfigurera programvaran. Den här guiden leder dig genom hela processen och säkerställer att du har en robust GitLab-installation på ditt Debian-system.

Uppdatera Debian före installation av Gitlab

Att hålla ditt Debianoperativsystem uppdaterat är avgörande för att bibehålla dess stabilitet och säkerhet. För att säkerställa att alla befintliga paket på ditt Debiansystem är uppdaterade, rekommenderas att utföra en uppdatering för att tillhandahålla de senaste säkerhetsuppdateringarna och buggfixarna, vilket säkerställer ditt systems stabilitet och tillförlitlighet.

Du kan enkelt uppdatera ditt Debian-operativsystem genom att köra följande kommando:

sudo apt update && sudo apt upgrade 

Installera nödvändiga paket för GitLab

Att säkerställa att alla beroenden för GitLab är installerade är ett kritiskt steg i installationsprocessen. Dessa beroenden är nödvändiga komponenter som GitLab förlitar sig på för att fungera korrekt. Lyckligtvis är det en enkel process att installera dessa beroenden.

Du kan enkelt installera dem genom att öppna terminalen och köra följande kommando:

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

Importera GitLab CE APT Repository

Som standard är GitLab inte tillgängligt i Debians standardförråd. Detta innebär att du måste skapa ett arkiv manuellt för att installera GitLab. GitLab tillhandahåller dock ett APT-skript för att hjälpa till med denna process, vilket gör det lättare för användare att installera plattformen. Med det här skriptet kan du skapa ett GitLab-förråd, vilket gör att du kan installera GitLab med APT-pakethanteraren som standard.

För att ladda ner skriptet, skriv in följande kommando i din terminal:

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

När du har kört det här kommandot kommer skriptet att ladda ner och lägga till GitLab-förvaret till ditt Debiansystem. Det kommer också att uppdatera paketlistan, vilket gör att du kan installera GitLab med hjälp av standard APT-pakethanteraren.

Slutför GitLab-installationen via APT Command

Nästa steg är att installera GitLab. Kom ihåg att skriptet redan har använt kommandot "apt update" för att synkronisera det nyskapade och modifierade arkivet. När det är gjort kan du nu fortsätta att utföra installationskommandot genom att köra följande:

sudo apt install gitlab-ce

Detta kommando kommer att installera GitLab Community Edition (CE), den fria och öppen källkodsversionen av GitLab. Installationsprocessen kan ta lite tid, beroende på din internethastighet och systemspecifikationer.

Exempel på utdata om GitLab-installationen lyckas på Debian:

Konfigurera GitLab

För att konfigurera GitLab på Debian måste flera steg följas noggrant. Det här avsnittet kommer att beskriva processen steg-för-steg, inklusive konfigurering av värdnamnet, konfigurering av brandväggen och konfiguration av e-postinställningar.

Konfigurera värdnamnet

För att komma åt din GitLab-instans är det avgörande att konfigurera värdnamnet för din GitLab-server, så välj ett namn som är lätt att komma ihåg och komma åt. Följ dessa steg för att konfigurera värdnamnet:

Öppna GitLab-konfigurationsfilen med en textredigerare:

sudo nano /etc/gitlab/gitlab.rb

Leta reda på extern_url-inställningen och ersätt exempel-URL:n med önskat värdnamn:

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

Spara filen och avsluta textredigeraren.

Konfigurera nu om GitLab för att tillämpa ändringarna:

sudo gitlab-ctl reconfigure

Konfigurera UFW-brandvägg för Gitlab

GitLab använder port 80 för HTTP och port 443 för HTTPS som standard. Det är avgörande att konfigurera din brandvägg för att tillåta trafik på dessa portar och se till att din GitLab-instans är tillgänglig.

Följ dessa steg för att konfigurera brandväggen:

Installera först UFW-brandväggen, eftersom den inte är installerad på Debian som standard, med följande kommando:

sudo apt install ufw

Sedan, när installationen är klar, aktivera UFW-brandväggen med följande kommando:

sudo ufw enable

Öppna brandväggens konfigurationsfil med en textredigerare:

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

Kopiera och klistra in följande rader i filen:

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

Spara filen och avsluta textredigeraren.

Aktivera GitLab-applikationen i brandväggen:

sudo ufw app update GitLab
sudo ufw allow GitLab

Konfigurera e-postinställningar

GitLab använder e-postmeddelanden för att informera användare om projektaktiviteter, såsom nya problem, sammanslagningsförfrågningar och kommentarer.

Följ dessa steg för att konfigurera e-postinställningar:

Öppna GitLab-konfigurationsfilen med en textredigerare:

sudo nano /etc/gitlab/gitlab.rb

Leta reda på inställningen gitlab_rails['smtp_enable'] och ställ in den på sant:

gitlab_rails['smtp_enable'] = true

Lägg till följande rader i filen för att konfigurera SMTP-serverinställningarna för din e-postleverantör, till exempel 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

Spara filen och avsluta textredigeraren.

Konfigurera om GitLab för att tillämpa ändringarna:

sudo gitlab-ctl reconfigure

Det är viktigt att notera att efter att ha kört kommandot "gitlab-ctl reconfigure" kan du observera att terminalutgången avslutas med följande meddelande:

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.

För att se root-lösenordet (GitLab) kör du följande kommando i din terminal:

sudo cat /etc/gitlab/initial_root_password

Om du kör det här kommandot visas root-lösenordet i terminalen. Det är viktigt att hålla detta lösenord säkert och inte dela det med obehöriga användare.

Om du behöver återställa root-lösenordet kan du använda följande kommando:

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

Efter att ha utfört detta kommando kommer root-lösenordet att återställas till en slumpmässig sträng som visas i terminalutgången. Det är viktigt att komma ihåg att återställning av root-lösenordet kommer att ogiltigförklara alla befintliga och personliga åtkomsttokens, så användare måste skapa nya efter att ha återställt lösenordet.

Av säkerhetsskäl rekommenderas det att du ändrar root-lösenordet till ett starkt och unikt så snart som möjligt efter den första installationen och undviker att använda standardlösenordet. Du kan ändra root-lösenordet genom att logga in på GitLabs webbgränssnitt, gå till "Användarinställningar"> "Konto" och välja alternativet "Ändra lösenord".

Få åtkomst till GitLabs användargränssnitt

När backend-konfigurationen är klar är det dags att logga in på och komma åt GitLab. För att uppnå detta, öppna domänsökvägen som tilldelats GitLab i konfigurationsfilen.

https://gitlab.example.com

Logga sedan in på GitLab med användarnamnet "root" och lösenordet du fick under installationen. Som nämnts i föregående avsnitts lösenordsutskrift var guidens lösenord "4zB2mbBLCcRLRAkv3qHfmSZULJ/6ocJNe2XK8zNx9nU=" i bilden.

Du har loggat in som root-kontot och kommer till standardmålsidan.

Ytterligare tips

Nedan finns några rekommendationer för att säkra, anpassa eller andra allmänna förstagångstips när du loggar in på GitLabs användargränssnitt:

  • Ändra standardlösenordet: För att förbättra säkerheten för din GitLab-instans är det avgörande att ändra root-användarens standardlösenord. Logga in på GitLab med standardanvändarnamnet och lösenordet, navigera till "Användarinställningar"> "Lösenord" och ange ditt nya lösenord.
  • Ställ in tvåfaktorsautentisering (2FA): Att lägga till en autentiseringsfaktor, som en kod som skickas till din telefon eller genereras av en app, till inloggningsprocessen är ett extra säkerhetslager som tillhandahålls av 2FA. För att aktivera 2FA i GitLab, navigera till "Användarinställningar"> "Konto"> "Tvåfaktorsautentisering" och följ instruktionerna.
  • Skapa ett projekt: För att skapa ett nytt projekt i GitLab, gå till sidan "Projekt" och klicka på knappen "Nytt projekt". Du kan skapa ett tomt projekt eller importera ett befintligt projekt från ett Git-förråd.
  • Anpassa användargränssnittet: GitLab tillåter flera anpassningsalternativ, som att ändra temat, lägga till en anpassad logotyp och konfigurera navigeringsfältet. Navigera till "Admin Area"> "Inställningar" och välj lämpliga alternativ för att anpassa användargränssnittet.
  • Konfigurera åtkomstkontroll: GitLabs kraftfulla åtkomstkontrollfunktioner låter dig styra vem som kan komma åt dina projekt och vad de kan göra. Navigera till "Projektinställningar"> "Medlemmar" och lägg till eller ta bort medlemmar med olika åtkomstnivåer för att konfigurera åtkomstkontroll.
  • Använd GitLab CI/CD: GitLabs kraftfulla CI/CD-funktioner automatiserar testning och distribution av din kod. Konfigurera CI/CD-pipelines genom att skapa en ".gitlab-ci.yml"-fil i ditt projekts rotkatalog och definiera stadierna och jobben för din pipeline.
  • Konfigurera GitLab Runner: GitLab Runner är en lättviktsagent som kör CI/CD-jobb och skickar tillbaka resultaten till GitLab. Följ instruktionerna i GitLab-dokumentationen för att installera och konfigurera GitLab Runner på ditt Debiansystem.
  • Säkerhetskopiera din GitLab-instans: Säkerhetskopiera din GitLab-instans regelbundet för att förhindra dataförlust i händelse av hårdvarufel eller andra katastrofer. Kör kommandot "gitlab-rake gitlab:backup:create" i din terminal för att säkerhetskopiera din GitLab-instans.

Skapa Cronjob för GitLab Auto Backup

Att ställa in ett cronjob för GitLab automatisk säkerhetskopiering på Debian är avgörande för att säkerställa säkerheten och säkerheten för dina data. En cronjob är en schemalagd uppgift som automatiskt körs med specifika intervall för att utföra en säkerhetskopiering av din GitLab-instans. Följ dessa steg för att skapa en cronjob för GitLab automatisk säkerhetskopiering på Debian.

Skapa ett Gitlab Backup Script

Det första steget är att skapa ett säkerhetskopieringsskript för att utföra säkerhetskopieringen av din GitLab-instans. Följ dessa steg:

Använd en textredigerare och skapa en ny fil för ditt säkerhetskopieringsskript. Här är ett exempel:

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

Klistra in följande kod 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
  • Spara filen och avsluta textredigeraren.

Detta skript kommer att generera en säkerhetskopia av din GitLab-instans genom att köra kommandot gitlab-rake gitlab:backup:create. Efter att ha skapat säkerhetskopian kommer den att duplicera den senaste säkerhetskopian till en ny fil med en tidsstämpel i filnamnet.

Ställa in behörigheter och ägande

Det efterföljande steget är att upprätta lämpliga behörigheter och äganderätt för säkerhetskopieringsskriptet för att säkerställa att cronjobbet kan köra det. Följ dessa steg:

Ställ in ägaren av säkerhetskopieringsskriptet till användaren som är associerad med GitLab:

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

Ställ in behörigheterna för säkerhetskopieringsskriptet för att möjliggöra exekvering:

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

Skapa en Cronjob

Nästa steg är att skapa en cronjob för att schemalägga säkerhetskopieringsskriptet så att det körs regelbundet. Följ dessa steg:

För att öppna crontab-konfigurationsfilen för GitLab-användaren, följ dessa steg:

sudo crontab -u git -e

För att schemalägga säkerhetskopieringsskriptet att köras varje dag klockan 01:00, lägg till följande rad i crontab-konfigurationsfilen för GitLab-användaren:

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

Spara filen och avsluta textredigeraren.

Denna cronjob kommer automatiskt att köra säkerhetskopieringsskriptet varje dag klockan 1:00, vilket resulterar i en ny säkerhetskopia med en tidsstämpel i filnamnet.

Testar Cronjob

Du kan verifiera cronjob-funktionerna korrekt genom att manuellt köra säkerhetskopieringsskriptet och se till att säkerhetskopieringsfilen genereras utan fel. För att utföra detta test, skriv in följande kommando i din terminal:

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

Detta kommando kommer att generera en ny säkerhetskopia i katalogen ”/var/opt/gitlab/backups”. Filnamnet kommer att innehålla en tidsstämpel för att indikera när säkerhetskopian skapades.

GitLab-terminalkommandon

GitLab-ctl är ett kommandoradsverktyg för att hantera GitLab på Debian. Den tillhandahåller en uppsättning terminalkommandon för bland annat att starta, stoppa, starta om och hantera GitLab-tjänster. Här är ett detaljerat avsnitt om GitLab-ctl terminalkommandon, tillsammans med exempelkommandon och utgångar med förklaringar.

Starta och stoppa GitLab-tjänster

För att starta och stoppa GitLab-tjänster, använd följande kommandon:

Starta alla GitLab-tjänster:

sudo gitlab-ctl start

Stoppa alla GitLab-tjänster:

sudo gitlab-ctl stop

Starta om alla GitLab-tjänster:

sudo gitlab-ctl restart

Ladda om GitLab-tjänster:

sudo gitlab-ctl reload

Dessa kommandon kommer att starta, stoppa, starta om eller ladda om alla GitLab-tjänster. Utdatan kommer att indikera vilka tjänster som startas eller stoppas och om operationen lyckades.

Kontrollera status för GitLab-tjänster

För att kontrollera statusen för GitLab-tjänster, använd följande kommando:

sudo gitlab-ctl status

Dessa kommandon kommer att starta, stoppa, starta om eller ladda om alla GitLab-tjänster. Efter att ha utfört kommandot kommer utdata att visa vilka tjänster som påverkas och om operationen lyckades.

Säkerhetskopiera och återställa GitLab-data

Du kan skapa en säkerhetskopia av GitLab-data genom att använda följande kommando:

Skapa en säkerhetskopia av GitLab-data:

sudo gitlab-rake gitlab:backup:create

Det angivna kommandot kommer att skapa en säkerhetskopia som innehåller all GitLab-data, såsom arkiv, användardata och konfigurationsfiler. Säkerhetskopieringsfilen kommer att lagras i katalogen: "/var/opt/gitlab/backups".

Återställ en säkerhetskopia av GitLab-data:

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

Med detta kommando kan du återställa en säkerhetskopia av GitLab-data från en specifik säkerhetskopia. Säkerhetskopieringsfilen måste finnas i katalogen "var/opt/gitlab/backups", eller så kan du ange den fullständiga sökvägen till säkerhetskopian.

Kontrollerar GitLab-konfigurationen

Du kan använda följande kommando för att kontrollera konfigurationen av GitLab:

sudo gitlab-rake gitlab:check

Detta kommando kan skanna efter fel eller varningar i GitLab-konfigurationen, inklusive föråldrade versioner, saknade beroenden och felkonfigurerade inställningar. Utdata kommer att sammanfatta skanningsresultaten och detaljerad information om eventuella upptäckta problem.

Kontrollerar GitLab-loggar

Så här kontrollerar du GitLab-loggar med följande kommandon:

Se GitLab-loggarna:

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

Du kan använda följande kommando för att se de sista tio raderna i GitLab-produktionsloggen, som beskriver användaråtgärder, varningar och fel.

Se GitLab NGINX-loggarna:

sudo gitlab-ctl tail nginx/gitlab_access.log

Detta kommando kommer att visa de sista tio raderna i GitLab NGINX-åtkomstloggen som innehåller information om HTTP-förfrågningar och svar.

Se GitLab PostgreSQL-loggarna:

sudo gitlab-ctl tail postgresql/current

Detta kommando kommer att visa de sista tio raderna i GitLab PostgreSQL-loggen, som innehåller information om databasfrågor och transaktioner.

Slutsats

Med GitLab CE framgångsrikt installerat på ditt Debian-system med det officiella installationsskriptet, kan du dra full nytta av dess kraftfulla DevOps-funktioner. Denna metod säkerställer att du har den senaste versionen och enkel tillgång till uppdateringar. Underhåll och uppdatera din GitLab-instans regelbundet för att dra nytta av de senaste funktionerna och säkerhetsförbättringarna. Njut av de sömlösa integrations- och samarbetsverktygen som GitLab CE erbjuder för dina utvecklingsprojekt.

Joshua James
Följ mig
Senaste inläggen av Joshua James (se alla)

Lämna en kommentar