Este podría ser un tipo de discusión más que una pregunta.
Me gustaría saber qué política de despliegue sigue con Magento2 y locales > puesta en escena > producción ambientes
Después de algunos intentos, hemos decidido que el mejor enfoque (o al menos el más sólido) sería este archivo gitignore, incluida la carpeta del proveedor en 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
Por lo tanto, ejecutamos Composer solo en un entorno local: como cualquier extensión nueva o actualización de software se prueba en local, luego se valida y se confirma. Probablemente incluiríamos el archivo app / etc / config.php en git también, pero ese archivo se reescribe cuando se ejecuta setup:upgrade
, ¿verdad?
La inclusión del proveedor significa que el tamaño del repositorio será mayor que (tal vez) recomendado, pero de esta manera al implementar el código, simplemente ejecutamos la secuencia:
bin/magento setup:upgrade
bin/magento setup:di:compile (optional)
bin/magento setup:static-content:deploy
Información relacionada: http://www.damianculotta.com.ar/magento/gitignore-y-la-estrategia-de-deploys-en-magento2
Vea por qué elegimos el comando de compilación como Magento 2 opcional - setup: di: compile ?
ACTUALIZAR
La verdad es que estamos teniendo algunos problemas al implementar cambios de código en nuestros proyectos publicados de Magento 2
Los cambios funcionan en local y en etapas (marcado en ambos modos: desarrollador y producción ... aunque configuramos conceptualmente esos entornos en modo desarrollador), pero algunos de ellos no funcionan en el entorno de producción (en modo de producción), etc. así que no estoy seguro de que estemos siguiendo la estrategia correcta. Me gustaría ver cuál es la secuencia de comandos apropiada y la relevancia del orden en esos comandos
De hecho, todos los días estoy menos convencido de la utilidad del modo de producción de Magento 2, a menos que no vaya a cambiar nada en el proyecto. ¿Puedes cambiar de opinión?