这可能是一种讨论,而不是一个问题。
我想知道您对Magento2和本地 > 分段 > 生产环境遵循哪种部署策略
经过一些尝试,我们决定最好的(或至少最可靠的)方法是此gitignore文件,包括git中的vendor文件夹。
.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
因此,我们仅在本地环境中运行composer:由于任何新扩展或软件升级均在本地进行测试,然后进行验证和提交。然后,我们可能还会在git中包含app / etc / config.php文件,但是运行时会重写该文件setup:upgrade
,对吗?
包括供应商意味着存储库大小将大于(也许)建议,但是通过这种方式,在部署代码时,我们只需运行以下序列:
bin/magento setup:upgrade
bin/magento setup:di:compile (optional)
bin/magento setup:static-content:deploy
相关信息:http : //www.damianculotta.com.ar/magento/gitignore-y-la-estrategia-de-deploys-en-magento2
看看为什么我们选择compile命令作为可选的Magento 2-setup:di:compile?
更新
事实是,在我们发布的Magento 2项目中部署代码更改时,我们遇到了一些问题
更改在本地和暂存中工作(在两种模式下都进行了检查:开发人员和生产...虽然我们在概念上将环境配置为开发人员模式),但其中一些在生产环境(生产模式)中不起作用,等等。所以我不确定我们是否遵循正确的策略。我想看看适当的命令序列是什么,以及该命令中命令的相关性
实际上,除非您不打算在项目中进行任何更改,否则我每天都不相信Magento 2生产模式的实用性。你能改变主意吗?