From b01505fb121e630ce60cdebd5e2e8c6a154e30cc Mon Sep 17 00:00:00 2001 From: Plexi09 Date: Fri, 3 Jan 2025 23:49:34 +0100 Subject: [PATCH] Added a manual update function --- manual_update.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 manual_update.sh diff --git a/manual_update.sh b/manual_update.sh new file mode 100644 index 0000000..0c88500 --- /dev/null +++ b/manual_update.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +# Nom du conteneur et de l'image +CONTAINER_NAME="le69iste" +IMAGE_NAME="le69iste" + +# Fichier de configuration des variables d'environnement +ENV_FILE=".env" + +# Fonction pour afficher les messages de log avec timestamp +log() { + echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" +} + +# Arrêter et supprimer le conteneur s'il existe déjà +if [ "$(docker ps -q -f name=$CONTAINER_NAME)" ]; then + log "Arrêt du conteneur $CONTAINER_NAME" + docker stop $CONTAINER_NAME +fi + +if [ "$(docker ps -aq -f name=$CONTAINER_NAME)" ]; then + log "Suppression du conteneur $CONTAINER_NAME" + docker rm $CONTAINER_NAME +fi + +# Mettre à jour le code depuis le dépôt GitHub +log "Mise à jour du code depuis GitHub" +git pull || { log "Échec de la mise à jour du code depuis GitHub"; exit 1; } + +# Construire la nouvelle image Docker +log "Construction de la nouvelle image Docker" +docker build -t $IMAGE_NAME . || { log "Échec de la construction de l'image Docker"; exit 1; } + +# Lancer le nouveau conteneur Docker +log "Lancement du nouveau conteneur Docker" +docker run -d --name $CONTAINER_NAME --env-file $ENV_FILE $IMAGE_NAME || { log "Échec du lancement du conteneur Docker"; exit 1; } + +log "Mise à jour et redémarrage du conteneur $CONTAINER_NAME complétés avec succès" \ No newline at end of file