Cela pourrait être un type de discussion plus qu'une question.
Je voudrais savoir quelle politique de déploiement vous suivez avec Magento2 et local > staging > environnements de production
Après quelques essais, nous avons décidé que la meilleure approche (ou du moins la plus solide) serait ce fichier gitignore, y compris le dossier du fournisseur dans git.
.DS_Store
/.buildpath
/.cache
/.metadata
/.project
/.settings
atlassian*
/nbproject
/sitemap
/sitemap.xml
/.idea
/.gitattributes
/app/config_sandbox
/app/etc/config.php
/app/etc/env.php
/app/code/Magento/TestModule*
/lib/internal/flex/uploader/.actionScriptProperties
/lib/internal/flex/uploader/.flexProperties
/lib/internal/flex/uploader/.project
/lib/internal/flex/uploader/.settings
/lib/internal/flex/varien/.actionScriptProperties
/lib/internal/flex/varien/.flexLibProperties
/lib/internal/flex/varien/.project
/lib/internal/flex/varien/.settings
/node_modules
/.grunt
/pestle.phar
/pub/media/*.*
!/pub/media/.htaccess
/pub/media/catalog/*
!/pub/media/catalog/.htaccess
/pub/media/customer/*
!/pub/media/customer/.htaccess
/pub/media/downloadable/*
!/pub/media/downloadable/.htaccess
/pub/media/import/*
!/pub/media/import/.htaccess
/pub/media/theme/*
/pub/media/theme_customization/*
!/pub/media/theme_customization/.htaccess
/pub/media/wysiwyg/*
!/pub/media/wysiwyg/.htaccess
/pub/media/tmp/*
!/pub/media/tmp/.htaccess
/pub/media/captcha/*
/pub/static/***
!/pub/static/.htaccess
/var/*
!/var/.htaccess
.unison*
/sync.sh
Nous exécutons donc composer uniquement dans un environnement local: comme toute nouvelle extension ou mise à niveau logicielle est testée en local, puis validée et validée. Nous inclurions probablement le fichier app / etc / config.php dans git aussi, mais ce fichier est réécrit lors de l'exécution setup:upgrade
, non?
Inclure le fournisseur signifie que la taille du référentiel sera plus grande que (peut-être) recommandée, mais de cette façon lors du déploiement de code, nous exécutons simplement la séquence:
bin/magento setup:upgrade
bin/magento setup:di:compile (optional)
bin/magento setup:static-content:deploy
Infos connexes: http://www.damianculotta.com.ar/magento/gitignore-y-la-estrategia-de-deploys-en-magento2
Voyez pourquoi nous choisissons la commande de compilation comme Magento 2 facultatif - setup: di: compile ?
MISE À JOUR
La vérité est que nous rencontrons des problèmes lors du déploiement de modifications de code dans nos projets Magento 2 publiés
Les changements fonctionnent en local et en staging (vérifié dans les deux modes: développeur et production ... bien que nous configurions conceptuellement ces environnements en mode développeur), mais certains d'entre eux ne fonctionnent pas en environnement de production (en mode production), etc ... je ne suis donc pas sûr que nous suivions la bonne stratégie. J'aimerais voir quelle est la séquence de commande appropriée et la pertinence de l'ordre dans lequel les commandes
En fait, chaque jour, je suis moins convaincu de l'utilité du mode de production de Magento 2, sauf si vous n'allez rien changer dans le projet. Pouvez-vous changer d'avis?