Git

Nastavení registru kontejneru GitLab

Nastavení registru kontejneru GitLab
V našem posledním příspěvku jsme vám ukázali, jak můžete nastavit instanci GitLab pro správu vaší organizace nebo vašich osobních projektů. Doporučili jsme vám použít plně kvalifikovaný název domény a mít instanci GitLab k dispozici přes HTTPS. Vzhledem k tomu, že většina aplikací je zabalena jako kontejnery, je rozumné nastavit registr kontejneru, kde lze uložit různé verze vaší aplikace a také její různé komponenty jako Docker images.

Pokud nevíte, co je registr kontejnerů, nebojte se. Bude to jasné, jakmile skutečně vložíte svůj první obrázek kontejneru do instance GitLab. Prozatím je považujte za úložiště pro vaše obrázky kontejnerů. Nejedná se o spuštěné kontejnery, ale pouze o obrázky (prostá data) sedící ve vzdálené instanci GitLab.

Proč byste chtěli registr kontejnerů GitLab?

Je pravděpodobné, že vaše aplikace je zabalena buď jako jeden Docker obrázek, nebo jako kolekce takových obrázků. To znamená, že různé verze budou přidruženy k různým obrázkům a registr kontejnerů vám pomůže sledovat je jednotlivě a také zjistit, které z nich mají být v konkrétním vydání spojeny dohromady.

Registr je v kontejnerech, jaké úložiště je ve zdrojovém kódu a GitLab je na jednom místě, kde je lze všechny zpracovat.

Předpoklady

  1. Fungující instance GitLab přes HTTPS
  2. Kořenový přístup k instanci
  3. Přístup k úpravám záznamů DNS názvu vaší domény

Předpokládáme, že náš GitLab běží dál gitlab.příklad.com .

Registrujte certifikáty DNS a TLS

Abyste mohli povolit funkci registru kontejneru v instanci GitLab, musíte být uživatelem root. Jednotliví uživatelé se pak mohou rozhodnout použít tuto funkci ve svých příslušných projektech, pokud si to přejí. Existují dva způsoby, jak toho dosáhnout:

  1. Znovu použijte existující název domény a certifikáty TLS gitlab.příklad.com a spusťte registr na jiném portu.
  2. Namiřte na jiný název domény, řekněme, registr.gitlab.příklad.com na stejnou IP adresu, kde běží GitLab, a nakonfigurujte tam registr.

Pojďme s druhou možností, protože je mnohem profesionálnější.

Krok 1: Přidejte záznam A registr.gitlab.příklad.com směřující na stejnou IP, kde je spuštěna vaše instance GitLab.

Krok 2: Zastavte na svém serveru spuštěné služby gitlab.

$ sudo gitlab-ctl stop

Krok 3: Přidejte klienta ACME certbot PPA do vašeho systému a nainstalujte certbot.

$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt aktualizace
$ sudo apt nainstalovat certbot

Krok 4: Získejte certifikáty od Let's Encrypt.

$ certbot certonly

Zobrazí se zpráva jako:
""
Jak byste se chtěli autentizovat u ACME CA?
--
1: Roztočte dočasný webový server (samostatný)
2: Umístěte soubory do adresáře webroot (webroot)
--
Vyberte příslušné číslo [1-2] a poté [zadejte] (pro zrušení stiskněte „c“): 1
""

To poté požádá o váš e-mail, požádá vás o souhlas s jejich podmínkami služby a co je nejdůležitější, požádá vás o název vaší domény, který by byl registr.gitlab.příklad.com v našem příkladu. Zobrazí se zpráva, zda byly certifikáty získány či nikoli. Pokud ano, přejděte ke kroku 5

Krok 5: Nyní, když máme naše certifikáty, je čas je umístit do adresářů souvisejících s GitLab.

$ cp / etc / letsencrypt / live / registr.gitlab.příklad.com / fullchain.pem
/ etc / gitlab / ssl / registr.gitlab.příklad.crt
$ cp / etc / letsencrypt / live / registr.gitlab.příklad.com / privkey.pem
/ etc / gitlab / ssl / registr.gitlab.příklad.klíč

Zajistěte jim oprávnění:

$ chmod 600 / etc / gitlab / ssl / registr.gitlab.příklad.com.*

Stejně jako ve zbytku tutoriálu nezapomeňte nahradit příklad.com s vaším stávajícím názvem domény. Protože tak se bude jmenovat adresář, kde certbot uložil certifikát.

Krok 6: Upravit konfiguraci GitLab. Otevřete soubor / etc / gitlab / gitlab.rb a do jeho spodní části přidejte následující řádky:

registry_external_url 'https: // registr.gitlab.příklad.com '

Pokud jste vše pečlivě provedli, nejsložitější část nastavení skončila! Nyní budete mít spuštěný registr kontejneru, stačí spustit:

$ sudo gitlab-ctl překonfigurovat
$ sudo gitlab-ctl start

Povolení registru a odesílání obrázků

Teď, když pro sebe máme registr kontejnerů, vytvořme nový projekt pomocí webového uživatelského rozhraní GitLab a ověříme, že funguje.

V levém sloupci uvidíte sekci Registr.  Kliknutím na něj zobrazíte podrobné pokyny, jak se přihlásit a vložit do něj obrázky. Vraťme se k naší místní ploše, na které by měl být nainstalován Docker.

Můžeme jej použít k vytvoření jednoduchého kontejneru hello-world a jeho odeslání do tohoto registru. Ve vašem místním systému vytvořte novou složku:

$ cd ~
$ mkdir sample_container

Uvnitř vytvořme soubor s názvem Dockerfile a přidejte k němu následující obsah:

FROM ubuntu: nejnovější
## Vaše vlastní příkazy zde

Svůj Dockerfile můžete ponechat pouze na prvním řádku. Bude to obyčejný kontejner ubuntu. Nyní jej vytvoříte se smysluplnou značkou (značku použijeme můj projekt který je stejný jako název našeho projektu GitLab, je to důležité). Ve stejném adresáři spusťte:

$ docker build -t registr.gitlab.příklad.com //můj projekt .

Nezapomeňte nahradit své uživatelské jméno GitLab místo zástupný symbol použitý ve výše uvedeném příkazu.

Prostě vytvoří kontejner Ubuntu spolu s načtením obrázku. Tento obrázek je tlačen. Pokud upravíte kontejner a vytvoříte s ním nový obrázek (pomocí docker commit příkaz, bude to nový obrázek). Pojďme poslat obrázek vanilkového ubuntu do našeho registru.

Nejprve se musíme přihlásit pomocí našeho uživatelského jména a hesla Gitlab:

$ docker přihlašovací registr.gitlab.příklad.com

Poté spusťte:

$ docker build -t registr.gitlab.příklad.com / root / můj-projekt .
$ docker push registr.gitlab.příklad.com / root / můj-projekt

Pokud si nejste jisti, co by značka vašeho kontejneru měla být, navštivte stránku registru svého projektu a budou k ní jasné pokyny. Pokud příkaz docker push funguje správně, můžete vidět, že se ve vaší instanci GitLab nahraje (nebo posune) nový obrázek dockeru. Stejně jako v mém případě:

Závěr

Řízení verzí je mnohem víc než jen správa zdrojového kódu. Neustále se vylepšuje, aby vyhověl všestranné škále požadavků, které každý softwarový projekt může neočekávaně potřebovat. Registr kontejnerů je jen špičkou ledovce. V GitLabu můžete mít kanály CD / CI, pokročilou správu konfigurace, autorizaci pomocí tokenů a celou řadu dalších funkcí. Doufám, že jste se v této příručce dozvěděli něco nového o této skvělé technologii.

Dejte nám vědět, jestli existuje něco, co chcete, abychom pokryli!

Hry Užitečné nástroje pro hráče Linuxu
Užitečné nástroje pro hráče Linuxu
Pokud rádi hrajete hry na Linuxu, je pravděpodobné, že jste ke zlepšení herního zážitku použili aplikace a nástroje jako Wine, Lutris a OBS Studio. Kr...
Hry HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
HD remasterované hry pro Linux, které nikdy dříve neměly vydání Linuxu
Mnoho vývojářů a vydavatelů her přichází s HD remasterem starých her, aby prodloužili životnost franšízy, prosím fanoušky, kteří požadují kompatibilit...
Hry Jak používat AutoKey k automatizaci linuxových her
Jak používat AutoKey k automatizaci linuxových her
AutoKey je nástroj pro automatizaci stolních počítačů pro systémy Linux a X11, programovaný v programech Python 3, GTK a Qt. Pomocí jeho funkcí skript...