From 9fa6be89822855c9200e43c9e8bb94ba4f598c53 Mon Sep 17 00:00:00 2001 From: cangui Date: Thu, 10 Oct 2024 11:38:59 +0200 Subject: [PATCH] update pour test --- Dockerfile | 18 ++++++++---------- docker-compose.yml | 10 ++++++---- update.sh | 14 ++++++++++++++ 3 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 update.sh diff --git a/Dockerfile b/Dockerfile index e37b3d4..6502e85 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,18 @@ # Utiliser une image Node.js officielle comme image de base FROM node:18 +# Installer Git pour cloner le dépôt +RUN apt-get update && apt-get install -y git + # Créer un répertoire de travail dans le conteneur WORKDIR /app -# Copier les fichiers package.json et package-lock.json dans le répertoire de travail -COPY package*.json ./ - -# Installer les dépendances de l'application -RUN npm install - -# Copier le reste du code de l'application dans le conteneur -COPY . . +# Copier le script d'update dans le conteneur +COPY update.sh /usr/local/bin/update.sh +RUN chmod +x /usr/local/bin/update.sh # Exposer le port sur lequel l'application s'exécute EXPOSE 8080 -# Démarrer l'application -CMD [ "node", "app.js" ] +# Démarrer l'application avec mise à jour du dépôt +CMD ["/bin/sh", "-c", "/usr/local/bin/update.sh && npm install && node app.js"] diff --git a/docker-compose.yml b/docker-compose.yml index d86ddb2..c0d9349 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,9 +14,10 @@ services: depends_on: - db volumes: - - backend_server_app:/app # Use the backend_server_app volume - working_dir: /app # Sets the working directory in the container + - backend_server_app:/app # Utiliser le volume pour l'app + working_dir: /app command: sh -c "npm install && node app.js" + db: image: mysql:8.0 environment: @@ -26,6 +27,7 @@ services: - db_data_new:/var/lib/mysql ports: - '3306:3306' + phpmyadmin: image: phpmyadmin/phpmyadmin restart: always @@ -39,5 +41,5 @@ services: - db volumes: - backend_server_app: # Declare the backend_server_app volume - db_data_new: + backend_server_app: # Déclarer le volume backend_server_app + db_data_new: # Déclarer le volume pour les données MySQL diff --git a/update.sh b/update.sh new file mode 100644 index 0000000..8d9f2d0 --- /dev/null +++ b/update.sh @@ -0,0 +1,14 @@ +#!/bin/sh +cd /app +if [ -d ".git" ]; then + echo "Updating repository..." + git pull origin main +else + echo "Cloning repository..." + git clone http://lab.canguidev.fr/cangui/manga-backend-server.git /app +fi + +# Supprimer les fichiers inutiles pour l'application +rm -f Dockerfile +rm -f docker-compose.yml +rm -f update.sh