Introduction
Demo Magic permet de scripter à l’avance une démo en ligne de commande afin de pouvoir la rejouer simplement à tout moment en évitant les erreurs et les traditionnelles typos inhérentes à ce genre d’exercice.
Pré-requis
Téléchargement du script demo-magic.sh
et installation de sa dépendance pv
:
mkdir demo-magic && cd demo-magic
curl -LO https://raw.githubusercontent.com/paxtonhare/demo-magic/master/demo-magic.sh
sudo apt update && sudo install -y pv
Voilà c’est tout !
Utilisation
C’est très simple, voici une petite démo d’exemple :
ma-demo.sh
#!/bin/bash
# --- Chargement de Demo Magic
. demo-magic.sh
clear
# --- Configuration -----------------------------------------------------------
DEMO_PROMPT="${BLUE}\W${WHITE} ➜ ${COLOR_RESET}"
# --- Ma démo -----------------------------------------------------------------
pei "# Bienvenue sur ma démo 😀"
pei "# Démarrage du conteneur docker :"
pei "docker run -d --name wit xian310/who-is-there:25"
pei "docker ps"
wait
pei "# Récupération de l'adresse IP :"
pei 'CONTAINER_IP=$(docker container inspect wit -f "{{ json .NetworkSettings.IPAddress }}")'
pei 'echo "$CONTAINER_IP"'
wait
pei "# Test de connexion :"
pei "curl $CONTAINER_IP:8080"
wait
pei "# Destruction du conteneur :"
pei "docker rm -f wit"
pei "docker ps"
p "# c'est fini 🤩"
Nous pouvons ensuite lancer directement la démo avec la commande :
bash ma-demo.sh
demo-magic ➜ # Bienvenue sur ma démo 😀
demo-magic ➜ # Démarrage du conteneur docker :
demo-magic ➜ docker run -d --name wit xian310/who-is-there:25
1391cfaccf7761b80a23e1c724d1fbe67f80928a33d790f01a2b720d5668f429
demo-magic ➜ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1391cfaccf77 xian310/who-is-there:25 "/who-is-there" 2 seconds ago Up Less than a second 8080/tcp wit
demo-magic ➜ # Récupération de l'adresse IP :
demo-magic ➜ CONTAINER_IP=$(docker container inspect wit -f "{{ json .NetworkSettings.IPAddress }}")
demo-magic ➜ echo "$CONTAINER_IP"
"172.17.0.2"
demo-magic ➜ # Test de connexion :
demo-magic ➜ curl "172.17.0.2":8080
wit v25 - Hello from 1391cfaccf77
demo-magic ➜ # Destruction du conteneur :
demo-magic ➜ docker rm -f wit
wit
demo-magic ➜ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
demo-magic ➜ # c'est fini 🤩
Magique non ?