Git

Postavljanje registra registra kontejnera GitLab

Postavljanje registra registra kontejnera GitLab
U našem posljednjem postu pokazali smo vam kako možete postaviti GitLab instancu za upravljanje organizacijom ili osobnim projektima. Preporučili smo vam upotrebu FQDN-a i dostupnost GitLab instance putem HTTPS-a. Budući da je većina aplikacija pakirana kao spremnici, razumno je postaviti registar spremnika u kojem se različite verzije vaše aplikacije, kao i njene različite komponente, mogu pohraniti kao Dockerove slike.

Ako ne znate što je registar spremnika, ne brinite. To će postati jasno nakon što ustvari gurnete svoju prvu sliku spremnika u GitLab instancu. Za sada ih smatrajte spremištima za slike spremnika. To nisu pokrenuti spremnici, već samo slike (obični podaci) koje sjede u udaljenoj instanci GitLab.

Zašto biste željeli registar spremnika GitLab?

Šanse su da je vaša aplikacija zapakirana ili kao pojedinačna Dockerova slika ili kao zbirka takvih slika. To znači da će različite verzije biti povezane s različitim slikama, a registar spremnika pomoći će vam da ih pojedinačno pratite, kao i da vidite koje treba povezati u određeno izdanje.

Registar je za spremnike, što je spremište za izvorni kod, a GitLab je jedno mjesto za obradu svih.

Preduvjeti

  1. Radna instanca GitLaba preko HTTPS-a
  2. Korijenski pristup instanci
  3. Pristup za izmjenu DNS zapisa vašeg imena domene

Pretpostavit ćemo da naš GitLab radi gitlab.primjer.com .

Registrirajte DNS i TLS certifikate

Morate biti root korisnik da biste omogućili značajku registra spremnika na instanci GitLab. Pojedinačni korisnici mogu tada odabrati upotrebu ove značajke u svojim projektima, ako to žele. Postoje dva načina za to:

  1. Ponovno upotrijebite postojeće ime domene i TLS certifikate za gitlab.primjer.com i pokrenite registar na drugom portu.
  2. Recite na drugo ime domene, recimo, registar.gitlab.primjer.com na istu IP adresu na kojoj je pokrenut GitLab i tamo konfigurirajte registar.

Krenimo s drugom opcijom jer je puno profesionalnija.

Korak 1: Dodajte zapis A za registar.gitlab.primjer.com pokazujući na istu IP adresu na kojoj je pokrenuta vaša GitLab instanca.

Korak 2: Zaustavite rad gitlab usluga na vašem poslužitelju.

$ sudo gitlab-ctl stop

Korak 3: Dodajte ACME klijenta certbotova PPA u vaš sustav i instalirajte certbot.

$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt ažuriranje
$ sudo apt instaliraj certbot

Korak 4: Pribavite certifikate od Let's Encrypt.

$ certbot sigurno

Vidjet ćete poruku poput:
"'
Kako želite provjeriti autentičnost pomoću ACME CA?
--
1: Zavrtite privremeni web poslužitelj (samostalni)
2: Postavljanje datoteka u webroot direktorij (webroot)
--
Odaberite odgovarajući broj [1-2], a zatim [unesite] (pritisnite 'c' da biste odustali): 1
"'

Tada ćete zatražiti vašu e-poštu, zatražiti od vas da pristanete na njihove uvjete pružanja usluge i, što je najvažnije, tražiti ime domene koje bi bilo registar.gitlab.primjer.com u našem primjeru. Dobit ćete poruku u kojoj se kaže jesu li certifikati dobiveni ili ne. Ako jesu, prijeđite na 5. korak

Korak 5: Sad kad imamo svoje certifikate, vrijeme je da ih smjestimo pod GitLab direktorije povezane.

$ cp / etc / letsencrypt / live / registry.gitlab.primjer.com / puni lanac.pem
/ etc / gitlab / ssl / registry.gitlab.primjer.crt
$ cp / etc / letsencrypt / live / registry.gitlab.primjer.com / privkey.pem
/ etc / gitlab / ssl / registry.gitlab.primjer.ključ

Osigurajte im dozvole:

$ chmod 600 / etc / gitlab / ssl / registry.gitlab.primjer.com.*

Kao i ostatak tutorijala, pobrinite se da zamijenite primjer.com s vašim postojećim imenom domene. Budući da će to biti ime direktorija, gdje je certbot pohranio certifikat.

Korak 6: Uredite GitLab konfiguraciju. Otvorite datoteku / etc / gitlab / gitlab.rb i dodajte sljedeće redove na dno:

registry_external_url 'https: // registry.gitlab.primjer.com '

Ako ste sve pažljivo učinili, najsloženiji dio postavljanja je gotov! Sada ćete imati i pokrenuti registar spremnika, samo pokrenite:

$ sudo gitlab-ctl rekonfiguriraj
$ sudo gitlab-ctl start

Omogućavanje registra i guranje slika

Sad kad imamo za sebe Registar kontejnera, kreirajmo novi projekt pomoću web korisničkog sučelja GitLab i provjerite radi li.

U lijevom stupcu možete vidjeti odjeljak Registra.  Možete kliknuti na nju da biste vidjeli detaljne upute za prijavu i ubacivanje slika u nju. Vratimo se našoj lokalnoj radnoj površini, na kojoj bi trebao biti instaliran Docker.

Možemo ga koristiti za izgradnju jednostavnog spremnika za hello-world i prosljeđivanje u ovaj registar. U vašem lokalnom sustavu stvorite novu mapu:

$ cd ~
$ mkdir sample_container

U njemu stvorimo datoteku s imenom Dockerfile i dodajte mu sljedeći sadržaj:

IZ ubuntu-a: najnovije
## Ovdje su vaše prilagođene naredbe

Dockerfile možete zadržati samo u prvom retku. To će biti obični ubuntu spremnik. Sada ga gradite sa značajnom oznakom (mi ćemo je koristiti moj projekt što je isto kao i naziv našeg GitLab projekta, ovo je važno). U istom direktoriju pokrenite:

$ docker build -t registar.gitlab.primjer.com //moj projekt .

Ne zaboravite zamijeniti svoje korisničko ime za GitLab umjesto rezervirano mjesto korišteno u gornjoj naredbi.

Samo stvara Ubuntu spremnik zajedno s dohvaćanjem slike. Ova slika je ono što se gura. Ako izmijenite spremnik i stvorite novu sliku s njim (pomoću docker počiniti naredba to će biti nova slika). Ugurajmo sliku vanilije ubuntu u svoj registar.

Prvo se moramo prijaviti koristeći naše korisničko ime i lozinku za Gitlab:

$ docker registar za prijavu.gitlab.primjer.com

Zatim pokrenite:

$ docker build -t registar.gitlab.primjer.com / root / my-project .
$ docker push registar.gitlab.primjer.com / root / my-project

Ako niste sigurni koja bi trebala biti oznaka vašeg spremnika, posjetite stranicu registra vašeg projekta i tamo će biti jasne upute. Ako je naredba guranja dockera ispravno funkcionirala, možete vidjeti novu sliku dockera koja se prebacuje (ili gura) u vašoj GitLab instanci. Kao što je prikazano u mom slučaju:

Zaključak

Kontrola verzija mnogo je više od samog upravljanja izvornim kodom. Stalno se poboljšava kako bi udovoljio svestranom nizu zahtjeva koji bi bilo kojem softverskom projektu mogli neočekivano zatrebati. Registar kontejnera samo je vrh sante leda. Možete imati CD / CI cjevovode, napredno upravljanje konfiguracijom, autorizaciju putem tokena i mnoštvo drugih funkcionalnosti omogućenih u GitLabu. Nadam se da ste u ovom vodiču naučili nešto novo o ovoj predivnoj tehnologiji.

Javite nam postoji li nešto što želite da pokrijemo!

Kako pojačati FPS u Linuxu?
FPS je kratica Okviri u sekundi. Zadatak FPS-a je mjerenje broja sličica u reprodukcijama video zapisa ili igranim izvedbama. Jednostavnim riječima, b...
Najpopularnije laboratorijske igre Oculus App
Ako ste vlasnik slušalica Oculus, tada morate biti sigurni u bočno učitavanje. Bočno učitavanje postupak je instaliranja nehranjenog sadržaja na vaše ...
10 najboljih igara za igranje na Ubuntuu
Windows platforma bila je jedna od dominantnih platformi za igre zbog ogromnog postotka igara koje se danas razvijaju kako bi podržavale Windows. Može...