GitLab je bezplatné a open source webové úložisko kódu pre spoločný vývoj softvéru pre DevOps, napísané v programovacích jazykoch Ruby a Go. Hlavným mottom GitLab je „Prineste rýchlosť s istotou, bezpečnosť bez obetí a viditeľnosť úspechu DevOps.“ Je to celkom populárna alternatíva k GitHub, ktorá poskytuje wiki, sledovanie problémov a funkcie priebežnej integrácie a nasadenia pomocou open-source licencie vyvinutej spoločnosťou GitLab Inc.
V nasledujúcom návode sa naučíte , ako nainštalovať a nakonfigurovať GitLab na vašom Debian 11 Bullseye Desktop alebo Server , spolu s tým, ako začať prihlásením sa s rootom, aby ste mohli začať nastavovať GitLab podľa vašich predstáv alebo požiadaviek vášho tímu.
Table of Contents
Predpoklady
- Odporúčaný OS: Debian 11 Bullseye.
- Používateľský účet: Používateľský účet s prístupom sudo alebo root.
Aktualizujte operačný systém
Aktualizujte svoj Debian , aby ste sa uistili, že všetky existujúce balíky sú aktuálne:
sudo apt update && sudo apt upgrade -y
Výukový program bude používať príkaz sudo a za predpokladu, že máte stav sudo .
Ak chcete overiť stav sudo vo svojom účte:
sudo whoami
Príklad výstupu zobrazujúci stav sudo:
[joshua@debian~]$ sudo whoami
root
Ak chcete nastaviť existujúci alebo nový sudo účet, navštívte náš návod na pridanie používateľa do Sudoers na Debiane .
Ak chcete použiť účet root , použite na prihlásenie nasledujúci príkaz s heslom root.
su
V návode sa použije terminál na inštaláciu, ktorý nájdete v časti Aktivity > Zobraziť aplikácie > Terminál.
Príklad:
Nainštalujte závislosti pre GitLab
Pred inštaláciou GitLab na váš operačný systém Debian 11 Bullseye budete musieť nainštalovať jeho závislosti, aby ste mohli nainštalovať a prevádzkovať GitLab.
Otvorte terminál a vykonajte nasledujúci príkaz:
sudo apt install curl ca-certificates apt-transport-https gnupg2 -y
Vytvorte a importujte úložisko GitLab
V predvolenom nastavení GitLab nie je zabalený v predvolených úložiskách Debian 11, čo znamená, že si ich budete musieť vytvoriť manuálne. GitLab však vytvoril praktický skript APT, ktorý si môžete stiahnuť a spustiť, aby vám pomohol s touto úlohou.
Stiahnite si skript GitLab APT pomocou príkazu curl :
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | bash
Príklad výstupu zo skriptu:
Teraz spustite príkaz apt update na overenie a synchronizáciu nového úložiska.
sudo apt update
Upozorňujeme, že sa to môže v budúcnosti zmeniť a návod bude aktualizovaný, keď k tomu dôjde.
Nainštalujte Gitlab
Ďalšou časťou tutoriálu je inštalácia GitLab a na synchronizáciu novovytvoreného a upraveného úložiska by ste už mali použiť príkaz apt update. Teraz vykonajte príkaz na inštaláciu pomocou nasledujúceho:
sudo apt install gitlab-ce
Príklad výstupu a závislostí, ktoré sa majú nainštalovať spolu s GitLab:
Napíšte Y, potom stlačte kláves ENTER , aby ste pokračovali v inštalácii.
Upozorňujeme, že veľkosť inštalácie je 2,5 GB , takže pomalé internetové pripojenia môžu chvíľu počkať na dokončenie sťahovania a inštalácie.
Po dokončení inštalácie by ste mali do svojho terminálu dostať nasledujúci výstup.
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) ...
How to Configure GitLab
S nainštalovaným GitLab môžete teraz nakonfigurovať SSL, heslá názvu domény alebo názvu subdomény a oveľa viac. Tutoriál prejde cez základné možnosti nastavenia, ktoré by sa mali vykonať. Môžete však vykonať alternatívne nastavenia k tým, ktoré sú uvedené nižšie.
Najprv otvorte „gitlab.rb“ pomocou ľubovoľného textového editora:
sudo nano nano /etc/gitlab/gitlab.rb
Prvým nastavením bude nastavenie domény, prechod nadol na riadok 36 a zistenie nasledujúceho.
external_url 'https://gitlab.linuxcapable.com'
Zmeňte to na názov svojej subdomény.
Príklad:
Ďalej nastavte TLS/SSL pomocou Let's Encrypt, ktorý začína na 2297.
V predvolenom nastavení sú všetky nastavenia zakomentované znakom „#“. Nasledujúce riadky budete musieť odkomentovať.
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'
Príklad:
Po dokončení CTRL+O ukončí súbor pomocou CTRL+X .
Teraz spustite príkaz rekonfigurácie nasledovne.
sudo gitlab-ctl reconfigure
Nakoniec dostanete na váš terminál nasledujúcu správu.
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.
Ak chcete zobraziť heslo root (GitLab) , spustite nasledujúci príkaz.
cat /etc/gitlab/initial_root_password
Príklad výstupu:
# 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.
As above, you can see the password is “SGGg/WQ9+N1JdgouIbPftla+Kt8Qcyr+HL5oJfRbBmM=” and that this file will be automatically deleted in 24 hours.
How to Access GitLab
Now that the backend is set, it is time to log in and see your GitLab.
First, open up the domain path where GitLab was assigned in the configuration file.
Example:
https://gitlab.example.com
Ďalej sa prihláste pomocou používateľského mena „root“ a hesla, ktoré ste dostali, čo v prípade tutoriálu bolo „SGGg/WQ9+N1JdgouIbPftla+Kt8Qcyr+HL5oJfRbBmM=“ .
Príklad:
Úspešne ste sa prihlásili ako účet root a dostanete sa na predvolenú vstupnú stránku.
Príklad:
Odtiaľto môžete pokračovať v nastavovaní a konfigurácii GitLab tak, aby vyhovoval vašim požiadavkám alebo vášmu tímu. Jedna z prvých vecí, ktoré by ste mali urobiť, je prejsť do sekcie správcu a pred pridaním akýchkoľvek členov tímu nakonfigurovať zabezpečenie, ako je 2FA, zmena hesiel root a oveľa viac. Toto všetko nájdete kliknutím na ponuku > Správca v ľavom hornom rohu stránky.
Príklad:
Vytvorte Cronjob pre automatické zálohovanie GitLab
V predvolenom nastavení nie sú vytvorené ani nakonfigurované žiadne zálohy. Toto by sa malo nastaviť pomocou cronjob a frekvencia nastaviť hodnotu, ktorá vyhovuje vašej dostupnosti zdrojov a frekvencii zmien GitLab.
Najprv otvorte crontab.
sudo crontab -e
Potom pridajte nasledujúci príklad a upravte čas tak, aby vyhovoval vašim potrebám. Ak si nie ste istí načasovaním, navštívte stránku crontab.guru .
00 */3 * * * gitlab-rake gitlab:backup:create
Vyššie uvedené vytvorí zálohu presne každé 3 hodiny.
Príklad:
Po dokončení CTRL+O ukončí súbor pomocou CTRL+X .
Prípadne môžete úlohu spustiť manuálne vykonaním nasledujúceho príkazu.
sudo gitlab-rake gitlab:backup:create
Po dokončení zálohovania sa vo vašom termináli zobrazí nasledujúca správa.
Backup task is done.
Komentáre a záver
V nasledujúcom návode ste sa naučili, ako nainštalovať GitLab na Debian 11 Bullseye, nastaviť TLS/SSL s Lets Encrypt a vytvoriť zálohovaciu úlohu cron. Celkovo môže byť vlastný hosting GitLab významný ako spoliehanie sa na tretiu stranu, ak je súkromie dôležitým problémom a môže uľahčiť a urýchliť vývoj.