Git

GitLab-containerregister instellen

GitLab-containerregister instellen
In ons laatste bericht hebben we je laten zien hoe je een GitLab-instantie kunt opzetten om de projecten van je organisatie of je persoonlijke projecten te beheren. We raden u aan een FQDN te gebruiken en de GitLab-instantie beschikbaar te hebben via HTTPS. Aangezien de meeste applicaties zijn verpakt als containers, is het redelijk om een ​​containerregister op te zetten waarin verschillende versies van uw applicatie, evenals de verschillende componenten ervan kunnen worden opgeslagen als Docker-images.

Als u niet weet wat een containerregister is, hoeft u zich geen zorgen te maken. Het wordt duidelijk zodra je je eerste container-image daadwerkelijk in een GitLab-instantie hebt gepusht. Zie ze voorlopig als opslagplaatsen voor uw containerafbeeldingen. Dit zijn geen draaiende containers, maar alleen afbeeldingen (plain data) die in de externe GitLab-instantie zitten.

Waarom zou je een GitLab-containerregister willen??

De kans is groot dat uw toepassing is verpakt als een enkele Docker-afbeelding of als een verzameling van dergelijke afbeeldingen. Dit betekent dat verschillende versies worden gekoppeld aan verschillende afbeeldingen en het containerregister helpt u om ze afzonderlijk bij te houden en om te zien welke samen in een bepaalde release moeten worden gebundeld.

Register is voor containers, wat repository is voor broncode en GitLab is één plek om ze allemaal af te handelen.

Vereisten

  1. Een werkende GitLab-instantie via HTTPS
  2. Root-toegang tot de instantie
  3. Toegang om de DNS-records van uw domeinnaam te wijzigen

We gaan ervan uit dat ons GitLab draait gitlab.voorbeeld.com .

Register DNS- en TLS-certificaten

U moet de rootgebruiker zijn om de containerregisterfunctie voor de GitLab-instantie in te schakelen. Individuele gebruikers kunnen er vervolgens voor kiezen om deze functie in hun respectievelijke projecten te gebruiken, als ze dat willen. Er zijn twee manieren om dit te doen:

  1. Hergebruik de bestaande domeinnaam en TLS-certificaten voor: gitlab.voorbeeld.com en voer het register uit op een andere poort.
  2. Wijs een andere domeinnaam aan, laten we zeggen, register.gitlab.voorbeeld.com naar hetzelfde IP-adres waar GitLab draait en configureer het register daar.

Laten we gaan met de tweede optie omdat deze veel professioneler is.

Stap 1: Voeg een A-record toe voor register.gitlab.voorbeeld.com wijzend naar hetzelfde IP-adres waar uw GitLab-instantie wordt uitgevoerd.

Stap 2: Stop de gitlab-services die op uw server worden uitgevoerd.

$ sudo gitlab-ctl stop

Stap 3: ACME-client toevoegen certbot's PPA naar uw systeem en installeer certbot.

$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-update
$ sudo apt install certbot

Stap 4: Verkrijg certificaten van Let's Encrypt.

$ certbot alleen gecertificeerd

U ziet een bericht als:
"'
Hoe wilt u zich authenticeren met de ACME CA?
--
1: Start een tijdelijke webserver (standalone)
2: Plaats bestanden in de webroot-map (webroot)
--
Selecteer het juiste nummer [1-2] en vervolgens [enter] (druk op 'c' om te annuleren): 1
"'

Dit zal dan om uw e-mailadres vragen, u vragen om akkoord te gaan met hun servicevoorwaarden en, belangrijker nog, u om uw domeinnaam vragen die zou zijn register.gitlab.voorbeeld.com in ons voorbeeldgeval. U krijgt een bericht waarin staat of de certificaten al dan niet zijn behaald. Als dat zo was, ga dan verder met stap 5

Stap 5: Nu we onze certificaten hebben, is het tijd om ze onder GitLab-gerelateerde mappen te plaatsen.

$ cp /etc/letsencrypt/live/registry.gitlab.voorbeeld.com/fullchain.pem
/etc/gitlab/ssl/registry.gitlab.voorbeeld.crt
$ cp /etc/letsencrypt/live/registry.gitlab.voorbeeld.com/privkey.pem
/etc/gitlab/ssl/registry.gitlab.voorbeeld.sleutel

Beveilig de machtigingen op hen:

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

Zorg ervoor dat u, net als de rest van de tutorial, voorbeeld vervangt.com met uw bestaande domeinnaam. Aangezien dat is wat de naam van de map zal zijn, waar certbot het certificaat heeft opgeslagen.

Stap 6: GitLab-configuratie bewerken. Open het bestand /etc/gitlab/gitlab.rb en voeg de volgende regels toe aan de onderkant ervan:

registry_external_url 'https://registry'.gitlab.voorbeeld.kom'

Als je alles zorgvuldig hebt gedaan, is het meest gecompliceerde deel van de installatie voorbij! U hebt nu een Container-register in gebruik, voer gewoon uit:

$ sudo gitlab-ctl opnieuw configureren
$ sudo gitlab-ctl start

Register inschakelen en afbeeldingen pushen

Nu we een containerregister voor onszelf hebben, laten we een nieuw project maken met behulp van de GitLab-webgebruikersinterface en controleren of het werkt.

In de linkerkolom ziet u een registergedeelte.  U kunt erop klikken om gedetailleerde instructies te zien over hoe u kunt inloggen en afbeeldingen erin kunt pushen. Laten we teruggaan naar onze lokale desktop, waarop Docker zou moeten zijn geïnstalleerd.

We kunnen het gebruiken om een ​​eenvoudige hello-world container te bouwen en deze naar dit register te pushen. Maak in uw lokale systeem een ​​nieuwe map:

$ cd ~
$ mkdir sample_container

Laten we binnenin een bestand maken met de naam Dockerbestand en voeg er de volgende inhoud aan toe:

VAN ubuntu:laatste
## Uw aangepaste commando's hier

U kunt uw Docker-bestand behouden met alleen de eerste regel. Het wordt een gewone ubuntu-container. Nu bouw je het met een betekenisvolle tag (we zullen de tag gebruiken) mijn project wat hetzelfde is als onze GitLab-projectnaam, dit is belangrijk). Voer in dezelfde map uit:

$ docker build -t register.gitlab.voorbeeld.com//mijn project .

Vergeet niet om uw GitLab-gebruikersnaam te vervangen in plaats van de tijdelijke aanduiding gebruikt in de bovenstaande opdracht.

Het maakt gewoon een Ubuntu-container samen met het ophalen van de afbeelding. Dit beeld is wat wordt gepusht. Als u de container wijzigt en er een nieuwe afbeelding mee maakt (met havenarbeider commit commando het zal een nieuwe afbeelding zijn). Laten we de vanille-ubuntu-afbeelding naar ons register pushen.

Eerst moeten we inloggen met onze Gitlab-gebruikersnaam en -wachtwoord:

$ docker login register.gitlab.voorbeeld.com

Voer dan uit:

$ docker build -t register.gitlab.voorbeeld.com/root/mijn-project .
$ docker push-register.gitlab.voorbeeld.com/root/mijn-project

Als u niet zeker weet wat de tag van uw container moet zijn, gaat u naar de registerpagina van uw project en vindt u er duidelijke instructies voor. Als de docker-push-opdracht correct heeft gewerkt, kunt u zien dat een nieuwe docker-afbeelding wordt geüpload (of gepusht) in uw GitLab-instantie. Zoals het in mijn geval werd getoond:

Conclusie

Versiebeheer is zoveel meer dan alleen broncodebeheer. Het wordt voortdurend verbeterd om tegemoet te komen aan een veelzijdige reeks eisen die elk softwareproject onverwachts nodig kan hebben. Containerregistratie is slechts het topje van de ijsberg. U kunt CD/CI-pipelines, geavanceerd configuratiebeheer, autorisatie via tokens en tal van andere functionaliteiten inschakelen in GitLab. Ik hoop dat je in deze tutorial iets nieuws hebt geleerd over deze geweldige technologie.

Laat het ons weten als er iets is dat je wilt dat we behandelen!

Microsoft Sculpt Touch draadloze muis Review
Ik las onlangs over de Microsoft Sculpt Touch draadloze muis en besloot hem te kopen. Nadat ik het een tijdje had gebruikt, besloot ik mijn ervaring e...
AppyMouse trackpad en muisaanwijzer op het scherm voor Windows-tablets
Tabletgebruikers missen vaak de muisaanwijzer, vooral wanneer ze gewend zijn om de laptop te gebruiken. Het touchscreen Smartphones en tablets hebben ...
Middelste muisknop werkt niet in Windows 10
De middelste muis knop helpt u door lange webpagina's en schermen met veel gegevens te bladeren. Als dat stopt, zul je uiteindelijk het toetsenbord ge...