Staging Deployment
Inventory
Het belangerijkste hiervoor, is het aanpassen van de juiste Inventory File, voor staging is dat inventory/staging/hosts.yml.
Instellen Hosts:
Onder all:hosts: zien we al een paar hosts defined, deze kunnen vernoemd worden naar keuze, maar om het duidelijk te houden kozen we ervoor om deze te benoemen met hun groep en een nummer. eg: frontend & 01. Dit met een prefix "bwv", die staat gewoon voor Belgian Wildfire Viewer.
Bij ansible_host: kun je zowel een domein als een IP meegeven. Voor Staging kan dit dus ook staging.wildfire.be worden bijvoorbeeld.
#
# (🖥️) Staging Hosts (Odisee)
# ==================================================
---
all:
hosts:
controlhost:
ansible_host: localhost
ansible_connection: local
bwv-proxy-01:
ansible_host: 10.129.80.89
bwv-frontend-01:
ansible_host: 10.129.80.89
bwv-backend-01:
ansible_host: 10.129.80.64Deze file stopt hier niet, we komen nu tot all:children:. Hier kunnen we groepen toevoegen zoals proxy, frontend en backend.
Belangerijk is dat je hieronder de naam van de host die je eerder bij all:hosts: aanmaakte toevoegd aan de juiste groep.
children:
# Proxies:
# -------------------------
proxy:
hosts:
bwv-proxy-01:
V
# Frontend:
# -------------------------
frontend:
children:
viewer:
hosts:
bwv-frontend-01:
adminportal:
hosts:
bwv-frontend-01:
# Backend:
# -------------------------
backend:
children:
api:
hosts:
bwv-backend-01:
database:
hosts:
bwv-backend-01:Variabelen
Belangerijkste deel hierbij is het aanpassen van de Backend & Frontend ENV Variabelen.
Deze zijn te vinden in volgende files:
inventory/staging/group_vars/frontend/vault.ymlinventory/staging/group_vars/backend/vault.yml
Deze moeten mogelijks nog gedecrypt worden met ansible-vault decrypt <FILE>.
Deployen
Via Pipeline
Als alles klaar is in je Ansible Code, kan deze gepushed worden naar de Repo. Wanneer er in de toekomst updates komen aan de Frontend of Backend, worden deze respectievelijk gedeployed via de Ansible Pipeline Trigger.
Via Local Controlhost
Kan volgens het zelfde commando uit vorige stap: ansible-playbook full.yml -i inventory/staging/hosts.yml --ask-vault-pass