Installera och konfigurera GitLab på Debian 11 Bullseye

GitLab är ett gratis och öppen källkod web-baserat kodlager för samarbetande mjukvaruutveckling för DevOps, skriven i Ruby och Go programmeringsspråk. GitLabs huvudmotto är "Ta med hastighet med självförtroende, säkerhet utan uppoffringar och synlighet i DevOps framgång." Det är ett ganska populärt alternativ till GitHub som tillhandahåller wiki, problemspårning och kontinuerliga integrations- och distributionsfunktioner, med hjälp av en öppen källkodslicens, utvecklad av GitLab Inc.

I följande handledning kommer du att lära dig hur du installerar och konfigurerar GitLab på ditt Debian 11 Bullseye-skrivbord eller -server, tillsammans med hur du kommer igång genom att logga in med root så att du kan börja konfigurera GitLab efter ditt tycke eller för ditt teams krav.

Förutsättningar

  • Rekommenderat OS: Debian 11 Bullseye.
  • Användarkonto: Ett användarkonto med sudo- eller root-åtkomst.

Uppdatera operativsystem

Uppdatera din Debian operativsystem för att se till att alla befintliga paket är uppdaterade:

sudo apt update && sudo apt upgrade -y

Handledningen kommer att använda sudo kommando och förutsatt att du har sudo-status.

Så här verifierar du sudo-status på ditt konto:

sudo whoami

Exempel på utdata som visar sudo-status:

[joshua@debian~]$ sudo whoami
root

För att konfigurera ett befintligt eller nytt sudo-konto, besök vår handledning på Lägga till en användare till Sudoers på Debian.

Att använda root-konto, använd följande kommando med root-lösenordet för att logga in.

su

Handledningen kommer att använda terminalen för installationen som finns i Aktiviteter > Visa applikationer > Terminal.

Exempelvis:

Installera beroenden för GitLab

Innan du installerar GitLab på ditt Debian 11 Bullseye-operativsystem måste du installera beroenden för det så att du kan installera och använda GitLab.

Öppna din terminal och kör följande kommando:

sudo apt install curl ca-certificates apt-transport-https gnupg2 -y

Skapa och importera GitLab Repository

Som standard kommer GitLab inte paketerat i Debian 11 standardförråd, och det betyder att du måste skapa ett manuellt. GitLab har dock skapat ett praktiskt APT-skript som du kan ladda ner och köra för att hjälpa dig i denna uppgift.

Ladda ner GitLab APT-skriptet med hjälp av curl-kommandot:

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

Exempel på utdata från skriptet:

Hur man installerar och konfigurerar GitLab på Debian 11 Bullseye

Kör nu kommandot apt update för att verifiera och synkronisera det nya förvaret.

sudo apt update

Observera att detta kan ändras i framtiden, och handledningen kommer att uppdateras när detta inträffar.

Installera Gitlab

Nästa del av handledningen är att installera GitLab, och du borde redan ha använt kommandot apt update för att synkronisera det nyskapade och modifierade arkivet. Kör nu installationskommandot med följande:

sudo apt install gitlab-ce

Exempel på utdata och beroenden som ska installeras längs GitLab:

Hur man installerar och konfigurerar GitLab på Debian 11 Bullseye

Typ Y, tryck sedan på ENTER-TANGENT för att fortsätta med installationen.

Observera att installationsstorleken är 2.5GB, så långsamma internetanslutningar kunde vänta ett tag för att slutföra nedladdningen och installationen.

När installationen är klar bör du få följande utdata i din terminal.

It looks like GitLab has not been configured yet; skipping the upgrade script.

       *.                  *.
      ***                 ***
     *****               *****
    .******             *******
    ********            ********
   ,,,,,,,,,***********,,,,,,,,,
  ,,,,,,,,,,,*********,,,,,,,,,,,
  .,,,,,,,,,,,*******,,,,,,,,,,,,
      ,,,,,,,,,*****,,,,,,,,,.
         ,,,,,,,****,,,,,,
            .,,,***,,,,
                ,*,.
  


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/
  

Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
  sudo gitlab-ctl reconfigure

For a comprehensive list of configuration options please see the Omnibus GitLab 
readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

Help us improve the installation experience, let us know how we did with a 1 min
ute survey:
https://gitlab.fra1.qualtrics.com/jfe/form/SV_6kVqZANThUQ1bZb?installation=omnib
us&release=14-3

Processing triggers for man-db (2.9.4-2) ...
Processing triggers for ufw (0.36-7.1) ...

Hur man konfigurerar GitLab

Med GitLab installerat kan du nu konfigurera SSL, domännamnet eller lösenord för underdomännamn och mycket mer. Handledningen kommer att gå över de grundläggande inställningsalternativen som bör göras. Du kan dock göra alternativa inställningar till de som anges nedan.

Öppna först "gitlab.rb" konfigurationsfil med valfri textredigerare:

sudo nano nano /etc/gitlab/gitlab.rb

Den första inställningen är att ställa in domänen, navigera ner till rad 36 och hitta följande.

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

Ändra detta till ditt underdomännamn.

Exempelvis:

Hur man installerar och konfigurerar GitLab på Debian 11 Bullseye

Ställ sedan in TLS/SSL med Let's Encrypt, som börjar vid 2297.

Som standard kommenteras alla inställningar med "#." Du måste avkommentera följande rader.

 letsencrypt['enable'] = true
 letsencrypt['contact_emails'] = ['youremail@yourdomain.com']
 letsencrypt['auto_renew'] = true
 letsencrypt['auto_renew_hour'] = 4
 letsencrypt['auto_renew_day_of_month'] = "*/4"
 letsencrypt['auto_renew_log_directory'] = '/var/log/gitlab/lets-encrypt'

Exempelvis:

Hur man installerar och konfigurerar GitLab på Debian 11 Bullseye

När gjort, CTRL + O avslutar sedan filen med CTRL + X.

Kör nu kommandot reconfigure enligt följande.

sudo gitlab-ctl reconfigure

Till slut kommer du att få följande meddelande i din terminal.

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.

NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Running handlers complete
Chef Infra Client failed. 218 resources updated in 41 seconds

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.

NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

För att se roten (GitLab) lösenord, kör följande kommando.

cat /etc/gitlab/initial_root_password

Exempel utmatning:

# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: SGGg/WQ9+N1JdgouIbPftla+Kt8Qcyr+HL5oJfRbBmM=

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

Som ovan kan du se lösenordet är “SGGg/WQ9+N1JdgouIbPftla+Kt8Qcyr+HL5oJfRbBmM=” och att denna fil kommer att raderas automatiskt inom 24 timmar.

Hur man kommer åt GitLab

Nu när backend är inställt är det dags att logga in och se ditt GitLab.

Öppna först domänsökvägen där GitLab tilldelades i konfigurationsfilen.

Exempelvis:

https://gitlab.example.com

Logga sedan in med användarnamnet "Rot" och lösenordet du fick, vilket i handledningsfallet var “SGGg/WQ9+N1JdgouIbPftla+Kt8Qcyr+HL5oJfRbBmM=”.

Exempelvis:

Hur man installerar och konfigurerar GitLab på Debian 11 Bullseye

Du är framgångsrikt inloggad som root-kontot och du kommer till standardmålsidan.

Exempelvis:

Hur man installerar och konfigurerar GitLab på Debian 11 Bullseye

Härifrån kan du fortsätta med att ställa in och konfigurera GitLab för att passa dina krav eller ditt team. En av de första sakerna du bör göra är att gå till admin-sektionen och konfigurera säkerheten, såsom 2FA, ändra root-lösenord och mycket mer innan du lägger till några teammedlemmar. Allt detta kan hittas genom att klicka på Meny > Admin uppe till vänster sidans hörn.

Exempelvis:

Hur man installerar och konfigurerar GitLab på Debian 11 Bullseye

Skapa Cronjob för GitLab Auto Backup

Som standard skapas eller konfigureras inga säkerhetskopior. Detta bör ställas in med hjälp av ett cronjob, och frekvensen sätter ett värde som passar din tillgänglighet av resurser och frekvensen av GitLab-ändringar.

Öppna först din crontab.

sudo crontab -e

Lägg sedan till följande exempel och ändra tiden så att den passar dina behov. Om du är lite osäker på tidpunkten, besök då crontab.guru.

00 */3 * * *  gitlab-rake gitlab:backup:create

Ovanstående skapar en säkerhetskopia exakt var tredje timme.

Exempelvis:

Hur man installerar och konfigurerar GitLab på Debian 11 Bullseye

När gjort, CTRL + O avslutar sedan filen med CTRL + X.

Alternativt kan du köra uppgiften manuellt genom att utföra följande kommando.

sudo gitlab-rake gitlab:backup:create

När säkerhetskopieringen är klar får du följande meddelande i din terminal.

Backup task is done.

Kommentarer och slutsats

I följande handledning har du lärt dig hur du installerar GitLab på Debian 11 Bullseye, ställer in TLS/SSL med Lets Encrypt och skapar ett backup-cron-jobb. Sammantaget kan självhosting GitLab vara betydelsefullt än att förlita sig på en tredje part om integritet är ett viktigt problem och kan göra utvecklingen enklare och snabbare.


Inte vad du letade efter? Försök att söka efter ytterligare tutorials.

2 tankar om “Installera och konfigurera GitLab på Debian 11 Bullseye”

    • Hej Carsten,

      Testade det precis, fungerar bra här fortfarande på min sida.

      Detekterade operativsystem som debian/bullseye.
      Söker efter lock...
      Upptäckt lock...
      Söker efter gpg...
      Upptäckte gpg...
      Kör apt-get update... klar.
      Installerar debian-archive-keyring som behövs för att installera
      apt-transport-https på många Debiansystem.
      Installerar apt-transport-https... klar.
      Installation av /etc/apt/sources.list.d/gitlab_gitlab-ce.list...klar.
      Importerar packagecloud gpg-nyckel... klar.
      Kör apt-get update... klar.

      Förvaret är konfigurerat! Du kan nu installera paket.

      Kopierade du manuellt eller använde du kopiera/klistra in funktionen?

      Det borde fungera, det verkar också som att de lagt till Bullseye now branch, du borde inte behöva byta till Buster längre. Jag kommer att uppdatera handledningen om den här delen.

      Svara

Lämna en kommentar