Nous utilisons Symfony2 sur une application AWS Beanstalk. Pour le déploiement, nous avons ajusté le script de déploiement pour effectuer un composer install après que l'application ait été téléchargée.
Même si cela fonctionne théoriquement, cela présente quelques inconvénients - principalement l'augmentation constante du temps de déploiement (ce qui entraîne parfois des délais d'attente du serveur) et l'accroissement des dépendances à l'égard de la disponibilité d'autres serveurs.
J'ai lu que certaines personnes copient les fichiers vendor/*
dans un répertoire temporaire et les déplacent de nouveau après le déploiement pour accélérer le déploiement.
Cela est certainement utile, mais nous mettons régulièrement à jour notre fichier composer.jsoncomposer install dans notre processus de déploiement. Nous pensons que la meilleure approche est d'inclure toutes les dépendances (`vendor/*`) en tant que fichiers dans le dépôt et de sauter l'étape _composer install_ lors du déploiement.
`
Malheureusement, la plupart des bibliothèques sont incluses en tant que submodules git et AWS ne prend pas en charge les submodules (tous les fichiers doivent être dans le dépôt).
Voici donc ma question:
Quelle est la meilleure manière de supprimer tous les submodules git et de commettre les fichiers réels à la place?
J'ai essayé de combiner:
git submodules --recursive foreach
avec Comment supprimer un submodule? mais sans succès.
`