Skip to main content

Staging setup

Omdat jullie net een volledig werkende Docker compose setup maakten, is de stap naar een staging-omgeving niet zo groot meer.

Tweaken van de container images

Maak eventueel extra Dockerfiles aan voor je frontend- en backend-containers. We willen immers dat de containers al in grote mate productie-klaar zijn.

Dat betekent bijvoorbeeld dat je voor de front-end image een multi-stage container zal nodig hebben waarbij de gebuilde files terecht komen in een nginx container.

Ook hier kan de officiele Vue-documentatie helpen.

Pushen naar een registry

Om de containers te kunnen gebruiken op andere servers, pushen we die naar een centrale registry. Jullie gebruiken daarvoor de container registry in jullie project op Gitlab.

# aanmelden op docker hub met je odisee account of een aangemaakt token
docker login registry.gitlab.com

# ofwel: je lokale image taggen met je docker hub username
docker tag <imagename>:<tag> <url_registry>/<username>/<imagename>:<tag>
# ofwel: nieuwe build maken met juiste tag:
docker build -t registry.gitlab.com/(pad) .

# je image pushen naar Gitlab.
docker push registry.gitlab.com/ikdoeict/(pad)

# daarna kan je de container gebruiken op je andere hosts met:
docker run registry.gitlab.com/(pad):<tag>

warning

bij een private container repository zal ook authenticatie nodig zijn, ook straks als je deze container binnen wil halen. Vermijd uiteraard dat je je credentials ergens in cleartext moet achterlaten in de config!

Push de containers met de staging-frontend en staging-backend naar de registry. Gebruik daarvoor een duidelijke naamgeving

Voorbereiden van de hosts

Zorg dat je staging hosts klaar zijn om Docker containers te hosten. Naast de installatie van docker-ce via Ansible betekent dat bijvoorbeeld ook het installeren van updates en configureren van de firewall.

Deploy de containers

Deploy de containers zodat je applicatie ook op staging werkt! Werk integraal met Ansible hiervoor.