update pour test
This commit is contained in:
parent
fe646b2549
commit
9fa6be8982
18
Dockerfile
18
Dockerfile
@ -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"]
|
||||||
|
|||||||
@ -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
14
update.sh
Normal 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
|
||||||
Loading…
Reference in New Issue
Block a user