Comprendre le contexte
Lorsque vous déployez sur un environnement de développement hyperlane, tout ce qui n'est pas présent :
- dans les répertoires montés : img, override, upload, modules, mails, themes, translations, config, download
- Ou versionné par le .gitignore
SERA SUPPRIMÉ
Si vous avez besoin de garder des dossiers lourds sans les versionner (il s'agit des bonnes pratiques Git), vous pouvez créer des liens symboliques.
Par exemple, si nous avons deux dossiers volumineux dans PrestaShop :
-
presse
(2.0G) -
photos
(3.9G)
Nous ne souhaitons pas envoyer 5,9 Go de données dans notre repository git. Mais nous ne voulons pas non plus que ces dossiers disparaissent au deploy.
Nous allons donc créer des liens symboliques.
Créer des liens symboliques
Connectez vous en ssh depuis votre termina local puis
Ajout des .gitkeep
Avant de commencer, vous devez vérifier si vous avez bien ajouté un fichier .gitkeep dans les répertoires, puis vous pouvez passer à l'étape suivante.
Un .gitkeep est un fichier qui indique à git qu'il ne doit pas envoyer l'intérieur du dossier, mais uniquement le dossier lui-même. Il sera alors pris en compte dans l'arborescence du projet mais sera toujours vide sur le repository GitLab. Par contre en local il sera bien rempli.
Nous continuons avec l'exemple des dossiers presse et photos
cd /vol/site/current
touchpresse/.gitkeep
touch photos/.gitkeep
Création des liens symboliques
Nous devons ensuite créer deux liens symboliques.
Attention : uniquement des liens relatifs
Nous devons nous déplacer dans le répertoire actuel de PrestaShop, puis déplacer les dossiers dans upload (qui est un répertoire monté) et créer le lien symbolique.
cd /vol/site/current
mv photos upload/photos
mv presse upload/presse
ln -s upload/photos photos
ln -s upload/presse presse
Vous verrez alors les liens symboliques à la racine en tapant ll
lrwxrwxrwx 1 root root 13 Feb 20 10:16 photos -> upload/photos/
lrwxrwxrwx 1 root root 13 Feb 20 10:16 presse -> upload/presse/
Modification du .gitignore
Nous devons également modifier le fichier .gitignore :
/presse/*
!/presse/.gitkeep
/photos/*
!/photos/.gitkeep
Maintenant, les deux dossiers seront sauvegardés après le deploy.
Commentaires
0 commentaire
Cet article n'accepte pas de commentaires.