Loading doc/devnote/copy-prod.md 0 → 100644 +60 −0 Changes for doc/devnote/copy-prod.md: 60 added lines, 0 removed lines. Original line number Diff line number Diff line # Dupliquer les données de la PROD en local Procédure avec *Docker* : ## Nouvelle version de l'application On se place dans le dossier racine. On fait un *dump* de la base de données : ```bash pg_dump --clean --if-exists --no-owner -h <URL_SERVEUR> -U <USER> <BASE> > tmp/backup_prod.sql ``` On cré un nouvelle environnement docker : On édite le fichier **.env** : ```bash vim .env ``` - Modifier le `APP_NAME` pour savoir qu'on est sur une réplique de la prod - Modifier `VOLUMES_ROOT`, par exemple **./demo/copy_prod** Puis un génère la structure de dossier pour l'instance : ```bash ./docker/compose-init.sh ``` Cela a créé une arborescence dans **demo/copy_prod** Supprimer les fichiers *.sql* dans **demo/copy_prod/docker-entrypoint-initdb.d/sql/** ```bash rm demo/copy_prod/docker-entrypoint-initdb.d/sql/*.sql ``` On déplace le dump : ```bash rm demo/copy_prod/docker-entrypoint-initdb.d/sql/*.sql ``` Puis on lance juste le container Postgresql pour qu'il s'initialise avec le dump ```bash docker compose up connor-postgres -d ``` On attends 20/30 secondes, puis on lance les autres containers : ```bash docker compose up -d ``` docker/apache_Dockerfile +1 −1 Changes for docker/apache_Dockerfile: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ RUN a2enmod proxy_fcgi setenvif rewrite EXPOSE 80 COPY ./apache_000-default.conf /etc/apache2/sites-available/000-default.conf COPY ./docker/apache_000-default.conf /etc/apache2/sites-available/000-default.conf RUN sed -i "s/container-name-php/${PHP_HOST}/g" /etc/apache2/sites-available/000-default.conf Loading docker/app_Dockerfile +11 −5 Changes for docker/app_Dockerfile: 11 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -82,9 +82,9 @@ RUN chmod +x /bin/composer RUN apt-get update && apt-get install -y libaio1 libnsl2 # Driver OCI (Oracle) COPY resources/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip /tmp/ COPY resources/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip /tmp/ COPY resources/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip /tmp/ COPY docker/resources/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip /tmp/ COPY docker/resources/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip /tmp/ COPY docker/resources/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip /tmp/ RUN unzip -o /tmp/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \ unzip -o /tmp/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \ Loading Loading @@ -126,11 +126,17 @@ ENV http_proxy="" ENV HTTPS_PROXY="" ENV https_proxy="" # Copier le script de surveillance ### On installe les dépendances PHP WORKDIR /var/application ENV COMPOSER_ALLOW_SUPERUSER=1 COPY composer.json ./composer.json COPY composer.lock ./composer.lock RUN composer install --no-interaction --ignore-platform-reqs EXPOSE 9000 COPY ./app_entrypoint.sh /entrypoint.sh COPY ./docker/app_entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh docker/app_entrypoint.sh +12 −4 Changes for docker/app_entrypoint.sh: 12 added lines, 4 removed lines. Original line number Diff line number Diff line #!/bin/bash echo "OSCAR WORKER RUNNING...\n" # On régle le safe.directory de GIT git config --global --add safe.directory /var/application ./oscar-update.sh # Exécute les mises à jour echo "### OSCAR UPDATE" php /var/application/bin/oscar-worker.php # Fix : on détecte si on est en mode worker ou PHP-FPM (à spécifier dans compose.yml) if [ -f "/var/application/bin/oscar-worker.php" ] && [ "$1" = "worker" ]; then echo "OSCAR WORKER INITIALISATION...\\n" ./oscar-update.sh --skip-node exec php /var/application/bin/oscar-worker.php else echo "OSCAR PHP INITIALISATION...\\n" ./oscar-update.sh --skip-composer --skip-db exec docker-php-entrypoint php-fpm fi No newline at end of file docker/compose.dev.yml +2 −1 Changes for docker/compose.dev.yml: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -196,6 +196,7 @@ services: args: - HTTP_PROXY - ENV_MODE command: ["/bin/bash", "/entrypoint.sh"] ###################################################################### Loading Loading @@ -244,7 +245,7 @@ services: args: - HTTP_PROXY - ENV_MODE command: ["/bin/bash", "/entrypoint.sh"] command: ["/bin/bash", "/entrypoint.sh", "worker"] ###################################################################### ### VITE Loading Loading
doc/devnote/copy-prod.md 0 → 100644 +60 −0 Changes for doc/devnote/copy-prod.md: 60 added lines, 0 removed lines. Original line number Diff line number Diff line # Dupliquer les données de la PROD en local Procédure avec *Docker* : ## Nouvelle version de l'application On se place dans le dossier racine. On fait un *dump* de la base de données : ```bash pg_dump --clean --if-exists --no-owner -h <URL_SERVEUR> -U <USER> <BASE> > tmp/backup_prod.sql ``` On cré un nouvelle environnement docker : On édite le fichier **.env** : ```bash vim .env ``` - Modifier le `APP_NAME` pour savoir qu'on est sur une réplique de la prod - Modifier `VOLUMES_ROOT`, par exemple **./demo/copy_prod** Puis un génère la structure de dossier pour l'instance : ```bash ./docker/compose-init.sh ``` Cela a créé une arborescence dans **demo/copy_prod** Supprimer les fichiers *.sql* dans **demo/copy_prod/docker-entrypoint-initdb.d/sql/** ```bash rm demo/copy_prod/docker-entrypoint-initdb.d/sql/*.sql ``` On déplace le dump : ```bash rm demo/copy_prod/docker-entrypoint-initdb.d/sql/*.sql ``` Puis on lance juste le container Postgresql pour qu'il s'initialise avec le dump ```bash docker compose up connor-postgres -d ``` On attends 20/30 secondes, puis on lance les autres containers : ```bash docker compose up -d ```
docker/apache_Dockerfile +1 −1 Changes for docker/apache_Dockerfile: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ RUN a2enmod proxy_fcgi setenvif rewrite EXPOSE 80 COPY ./apache_000-default.conf /etc/apache2/sites-available/000-default.conf COPY ./docker/apache_000-default.conf /etc/apache2/sites-available/000-default.conf RUN sed -i "s/container-name-php/${PHP_HOST}/g" /etc/apache2/sites-available/000-default.conf Loading
docker/app_Dockerfile +11 −5 Changes for docker/app_Dockerfile: 11 added lines, 5 removed lines. Original line number Diff line number Diff line Loading @@ -82,9 +82,9 @@ RUN chmod +x /bin/composer RUN apt-get update && apt-get install -y libaio1 libnsl2 # Driver OCI (Oracle) COPY resources/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip /tmp/ COPY resources/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip /tmp/ COPY resources/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip /tmp/ COPY docker/resources/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip /tmp/ COPY docker/resources/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip /tmp/ COPY docker/resources/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip /tmp/ RUN unzip -o /tmp/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \ unzip -o /tmp/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \ Loading Loading @@ -126,11 +126,17 @@ ENV http_proxy="" ENV HTTPS_PROXY="" ENV https_proxy="" # Copier le script de surveillance ### On installe les dépendances PHP WORKDIR /var/application ENV COMPOSER_ALLOW_SUPERUSER=1 COPY composer.json ./composer.json COPY composer.lock ./composer.lock RUN composer install --no-interaction --ignore-platform-reqs EXPOSE 9000 COPY ./app_entrypoint.sh /entrypoint.sh COPY ./docker/app_entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh
docker/app_entrypoint.sh +12 −4 Changes for docker/app_entrypoint.sh: 12 added lines, 4 removed lines. Original line number Diff line number Diff line #!/bin/bash echo "OSCAR WORKER RUNNING...\n" # On régle le safe.directory de GIT git config --global --add safe.directory /var/application ./oscar-update.sh # Exécute les mises à jour echo "### OSCAR UPDATE" php /var/application/bin/oscar-worker.php # Fix : on détecte si on est en mode worker ou PHP-FPM (à spécifier dans compose.yml) if [ -f "/var/application/bin/oscar-worker.php" ] && [ "$1" = "worker" ]; then echo "OSCAR WORKER INITIALISATION...\\n" ./oscar-update.sh --skip-node exec php /var/application/bin/oscar-worker.php else echo "OSCAR PHP INITIALISATION...\\n" ./oscar-update.sh --skip-composer --skip-db exec docker-php-entrypoint php-fpm fi No newline at end of file
docker/compose.dev.yml +2 −1 Changes for docker/compose.dev.yml: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -196,6 +196,7 @@ services: args: - HTTP_PROXY - ENV_MODE command: ["/bin/bash", "/entrypoint.sh"] ###################################################################### Loading Loading @@ -244,7 +245,7 @@ services: args: - HTTP_PROXY - ENV_MODE command: ["/bin/bash", "/entrypoint.sh"] command: ["/bin/bash", "/entrypoint.sh", "worker"] ###################################################################### ### VITE Loading