Instellen van GitLab Container Registry

Maak GitLab Container Registry aan op node c2d-gitlab.

Deze handleiding beschrijft hoe je de GitLab Container Registry kan maken en gebruiken. Deze registry is niet standaard ingeschakeld in GitLab CE, maar is in dit project standaard ingeschakeld door Ansible, zie group_vars/gitlab/registry.yml.

Vereisten

Overzicht

In dit project benaderen we de GitLab registry via de URL https://registry.c2platform.org  via een reverse proxy die draait op c2d-rproxy.

GitLab starten

Start de GitLab-instantie die is aangemaakt met behulp van GitLab instellen.

vagrant up c2d-gitlab

Verifiëren

Als je een GitLab-project aanmaakt en navigeert naar Packages and registries, zou je drie opties moeten zien, waarvan er één Container Registry is.

Inloggen en Pushen

Om te verifiëren dat de registry werkt, kun je proberen een afbeelding ernaartoe te pushen. In het onderstaande voorbeeld gebruiken we de node c2d-gitlab-runner hiervoor.

vagrant up c2d-gitlab-runner

Nu kunnen we testen of we kunnen inloggen op de registry:

vagrant@c2d-gitlab-runner:~$ sudo su -
root@c2d-gitlab-runner:~# docker login registry.c2platform.org
Username: root
Password:
WAARSCHUWING! Uw wachtwoord wordt onversleuteld opgeslagen in /root/.docker/config.json.
Configureer een credential helper om deze waarschuwing te verwijderen. Zie
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Inloggen geslaagd
root@c2d-gitlab-runner:~#

Download een afbeelding, bijvoorbeeld docker pull ubuntu, tag deze en push het naar een GitLab-project. Bijvoorbeeld als we project c2platform/gitlab-docker-build  hebben aangemaakt als onderdeel van GitLab instellen.

docker tag ubuntu:latest registry.c2platform.org/c2platform/gitlab-docker-build:latest
docker push registry.c2platform.org/c2platform/gitlab-docker-build:latest

Pipeline

Als je de stappen volgt in Handleiding om GitLab CE-pijplijnen in Kubernetes te draaien, wordt hiermee ook bevestigd dat de GitLab Container Registry correct is ingeschakeld en werkt. TODO