update pour test

This commit is contained in:
cangui 2024-10-10 11:38:59 +02:00
parent fe646b2549
commit 9fa6be8982
3 changed files with 28 additions and 14 deletions

View File

@ -1,20 +1,18 @@
# Utiliser une image Node.js officielle comme image de base # Utiliser une image Node.js officielle comme image de base
FROM node:18 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 # Créer un répertoire de travail dans le conteneur
WORKDIR /app WORKDIR /app
# Copier les fichiers package.json et package-lock.json dans le répertoire de travail # Copier le script d'update dans le conteneur
COPY package*.json ./ COPY update.sh /usr/local/bin/update.sh
RUN chmod +x /usr/local/bin/update.sh
# Installer les dépendances de l'application
RUN npm install
# Copier le reste du code de l'application dans le conteneur
COPY . .
# Exposer le port sur lequel l'application s'exécute # Exposer le port sur lequel l'application s'exécute
EXPOSE 8080 EXPOSE 8080
# Démarrer l'application # Démarrer l'application avec mise à jour du dépôt
CMD [ "node", "app.js" ] CMD ["/bin/sh", "-c", "/usr/local/bin/update.sh && npm install && node app.js"]

View File

@ -14,9 +14,10 @@ services:
depends_on: depends_on:
- db - db
volumes: volumes:
- backend_server_app:/app # Use the backend_server_app volume - backend_server_app:/app # Utiliser le volume pour l'app
working_dir: /app # Sets the working directory in the container working_dir: /app
command: sh -c "npm install && node app.js" command: sh -c "npm install && node app.js"
db: db:
image: mysql:8.0 image: mysql:8.0
environment: environment:
@ -26,6 +27,7 @@ services:
- db_data_new:/var/lib/mysql - db_data_new:/var/lib/mysql
ports: ports:
- '3306:3306' - '3306:3306'
phpmyadmin: phpmyadmin:
image: phpmyadmin/phpmyadmin image: phpmyadmin/phpmyadmin
restart: always restart: always
@ -39,5 +41,5 @@ services:
- db - db
volumes: volumes:
backend_server_app: # Declare the backend_server_app volume backend_server_app: # Déclarer le volume backend_server_app
db_data_new: db_data_new: # Déclarer le volume pour les données MySQL

14
update.sh Normal file
View File

@ -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