Prestashop logo, Visiter page d'accueil

Créer des liens symboliques (symlink)

-

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
touch presse/.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.

Partager

L'article vous a-t-il été utile ?