Git

Opsætning af GitLab Container Registry

Opsætning af GitLab Container Registry
I vores sidste indlæg viste vi dig, hvordan du kan oprette en GitLab-instans til at styre din organisations eller dine personlige projekter. Vi anbefalede dig at bruge en FQDN og have GitLab-forekomsten tilgængelig via HTTPS. Da de fleste applikationer er pakket som containere, er det rimeligt at oprette et containerregister, hvor forskellige versioner af din applikation såvel som dets forskellige komponenter kan lagres som Docker-billeder.

Hvis du ikke ved, hvad et containerregister er, skal du ikke bekymre dig. Det bliver klart, når du faktisk skubber dit første containerbillede ind i en GitLab-forekomst. For øjeblikket skal du tænke på dem som arkiver til dine containerbilleder. Disse kører ikke containere, men kun billeder (almindelige data), der sidder i den eksterne GitLab-instans.

Hvorfor vil du have et GitLab containerregister?

Chancerne er, at din applikation er pakket enten som et enkelt Docker-billede eller som en samling af sådanne billeder. Dette betyder, at forskellige versioner vil blive knyttet til forskellige billeder, og containerregistret hjælper dig med at holde styr på dem individuelt samt se, hvilke der skal bundtes sammen i en bestemt udgivelse.

Registreringsdatabase er til containere, hvilket lager er kildekoden, og GitLab er et sted at håndtere dem alle.

Forudsætninger

  1. En fungerende GitLab-forekomst over HTTPS
  2. Rødadgang til forekomsten
  3. Adgang til at ændre dit domænenavns DNS-poster

Vi antager, at vores GitLab kører gitlab.eksempel.com .

Registrerings-DNS- og TLS-certifikater

Du skal være rodbruger for at aktivere containerregistreringsfunktionen på tværs af GitLab-forekomsten. Individuelle brugere kan derefter vælge at bruge denne funktion i deres respektive projekter, hvis de ønsker det. Der er to måder at gøre det på:

  1. Genbrug det eksisterende domænenavn og TLS-certifikater til gitlab.eksempel.com og kør registreringsdatabasen på en anden port.
  2. Peg på et andet domænenavn, lad os sige, registreringsdatabasen.gitlab.eksempel.com til den samme IP-adresse, hvor GitLab kører, og konfigurer registreringsdatabasen der.

Lad os gå med den anden mulighed, da den er meget mere professionel.

Trin 1: Tilføj en A-post for registreringsdatabasen.gitlab.eksempel.com peger på den samme IP, hvor din GitLab-forekomst kører.

Trin 2: Stop de gitlab-tjenester, der kører på din server.

$ sudo gitlab-ctl stop

Trin 3: Tilføj ACME-klient certbot's PPA til dit system og installer certbot.

$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt opdatering
$ sudo apt installerer certbot

Trin 4: Få certifikater fra Let's Encrypt.

$ certbot certonly

Du vil se en besked som:
“'
Hvordan vil du godkende med ACME CA?
--
1: Spin en midlertidig webserver (standalone)
2: Placer filer i webroot-biblioteket (webroot)
--
Vælg det passende nummer [1-2] og derefter [enter] (tryk på 'c' for at annullere): 1
“'

Dette vil derefter bede om din e-mail, bede dig om at acceptere deres servicevilkår og vigtigst af alt bede dig om dit domænenavn, som ville være registreringsdatabasen.gitlab.eksempel.com i vores eksempler. Du får en besked om, hvorvidt certifikaterne blev opnået. Hvis det var tilfældet, skal du gå videre til trin 5

Trin 5: Nu hvor vi har vores certs, er det tid til at placere dem under GitLab-relaterede mapper.

$ cp / etc / letsencrypt / live / registry.gitlab.eksempel.com / fullchain.pem
/ etc / gitlab / ssl / registry.gitlab.eksempel.crt
$ cp / etc / letsencrypt / live / registry.gitlab.eksempel.com / privkey.pem
/ etc / gitlab / ssl / registry.gitlab.eksempel.nøgle

Sikr tilladelserne til dem:

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

Som resten af ​​vejledningen skal du sørge for at erstatte eksemplet.com med dit eksisterende domænenavn. Da det er hvad navnet på biblioteket skal være, hvor certbot har gemt certifikatet.

Trin 6: Rediger GitLab-konfiguration. Åbn filen / etc / gitlab / gitlab.rb og tilføj følgende linjer i bunden af ​​det:

registry_external_url 'https: // registreringsdatabase.gitlab.eksempel.com '

Hvis du har gjort alt omhyggeligt, er den mest komplicerede del af opsætningen overstået! Du vil nu have en Container-registreringsdatabase i gang, bare kør:

$ sudo gitlab-ctl omkonfigurere
$ sudo gitlab-ctl start

Aktivering af registreringsdatabasen og skubbe billeder

Nu hvor vi for os selv har et containerregister, lad os oprette et nyt projekt ved hjælp af GitLab web-UI og kontrollere, at det fungerer.

I kolonnen til venstre kan du se en sektion i registreringsdatabasen.  Du kan klikke på den for at se detaljerede instruktioner om, hvordan du logger ind og skubber billeder ind i den. Lad os gå tilbage til vores lokale skrivebord, som Docker skal have installeret på det.

Vi kan bruge den til at bygge en simpel Hello-World container og skubbe den til denne registreringsdatabase. Opret en ny mappe i dit lokale system:

$ cd ~
$ mkdir sample_container

Inde i det lad os oprette en fil med navnet Dockerfil og tilføj følgende indhold til det:

FRA ubuntu: nyeste
## Dine brugerdefinerede kommandoer her

Du kan beholde din Dockerfile med kun den første linje. Det vil være en almindelig ubuntu-container. Nu bygger du det med et meningsfuldt tag (vi bruger tagget mit-projekt hvilket er det samme som vores GitLab-projektnavn, dette er vigtigt). I den samme katalogkørsel:

$ docker build -t registreringsdatabase.gitlab.eksempel.com // mit-projekt .

Husk at erstatte dit GitLab brugernavn i stedet for pladsholder brugt i ovenstående kommando.

Det opretter bare en Ubuntu-container sammen med at hente billedet. Dette billede er, hvad der bliver skubbet. Hvis du ændrer containeren og opretter et nyt billede med den (ved hjælp af docker begå kommando, det bliver et nyt billede). Lad os skubbe vanilla ubuntu-billedet til vores registreringsdatabase.

Først skal vi logge ind ved hjælp af vores Gitlab brugernavn og adgangskode:

$ docker login-registreringsdatabasen.gitlab.eksempel.com

Kør derefter:

$ docker build -t registreringsdatabase.gitlab.eksempel.com / root / mit-projekt .
$ docker push-registreringsdatabasen.gitlab.eksempel.com / root / mit-projekt

Hvis du er usikker på, hvad din containers tag skal være, skal du besøge dit projekts registreringsside, og der vil være klare instruktioner til det. Hvis docker-push-kommandoen har fungeret korrekt, kan du se, at et nyt dockerbillede bliver uploadet (eller skubbet) i din GitLab-forekomst. Som det blev vist i mit tilfælde:

Konklusion

Versionskontrol er så meget mere end bare kildekodestyring. Det forbedres konstant for at imødekomme en alsidig vifte af krav, som ethvert softwareprojekt muligvis har brug for uventet. Containerregistret er kun toppen af ​​isbjerget. Du kan have CD / CI-rørledninger, avanceret konfigurationsadministration, godkendelse via tokens og en lang række andre funktioner aktiveret i GitLab. Håber du har lært noget nyt om denne vidunderlige teknologi i denne vejledning.

Fortæl os, hvis der er noget, du vil have os til at dække!

Mus Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Remap dine museknapper forskelligt til anden software med X-Mouse Button Control
Måske har du brug for et værktøj, der kan ændre din muses kontrol med hver applikation, du bruger. Hvis dette er tilfældet, kan du prøve en applikatio...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...
Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...