Приложение / etc / config.php в VCS или нет

15

У меня есть вопрос, связанный с файлом app/etc/config.php.

Этот файл описан здесь и определен:

Magento base dir/app/etc/config.php, который содержит список установленных модулей, тем и языковых пакетов.

Это как app/etc/modules/*в Magento 1 (Обычно у меня есть эти файлы в VCS).

Но в Magento 2 рекомендуется не делиться VCS (Официальный .gitignore ).

У меня есть некоторые вопросы или случаи использования для обмена в VCS, но я хочу понять, потому что не рекомендуется добавлять в VCS

  1. Производственная среда (с системой развертывания Capistrano/Deployer, etc)
    • Вы делаете новое развертывание ... и вам нужно включить новый модуль / s, php bin/magento module:enable VendorName_NewModuleпрежде чемsetup:upgrade
      • Как вы справляетесь с этой ситуацией?
    • Вы делаете новое развертывание, и вам нужно отключить (для любой ситуации) новый модуль / s php bin/magento module:disable VendorName_NewModuleдоsetup:upgrade
      • Как вы справляетесь с этой ситуацией?
  2. Местная среда

    • Если вы не хотите, чтобы ваша команда включала / отключала определенный модуль / модули
      • Как вы справляетесь с этой ситуацией?
  3. Постановка Окружающей Среды

    • Как вы можете достичь той же конфигурации производственных включенных / отключенных модулей, если вы не делитесь app/etc/config.php
      • Как вы справляетесь с этой ситуацией? Вам нужно сделать вручную?

Какова ваша точка зрения или как вы справляетесь с этими ситуациями?

Благодарность

* VCS: система контроля версий, например: git, svn и т. Д.

osrecio
источник

Ответы:

13

Нет ничего плохого в том, чтобы включить config.phpVCS, если ваши потребности основаны на одинаковой конфигурации в разных средах, особенно в состояниях включения / выключения ваших модулей. Побочным эффектом этого является ограничение, которое вы накладываете на себя с точки зрения наличия одинаковых тем, языковых пакетов и т. Д. На каждой из них.

В Magento 2.2 мы собираемся внести некоторые улучшения, чтобы повысить гибкость управления конфигурациями для поддержки различных рабочих процессов развертывания. У вас будет файл, который должен содержать всю общую конфигурацию app/etc/config.php(предназначенный для конфигурации, которая, вероятно, будет одинаковой во всех средах и хранится в VCS). У вас будет другой файл, который должен содержать специфическую для системы конфигурацию app/etc/env.php(должен содержать конфигурацию, которая, вероятно, будет отличаться в разных системах разработки, промежуточных и производственных системах).

Тем временем мы разработали несколько подходов к развертыванию от сообщества, которые вы можете найти на этой странице, если это поможет.

mkotov
источник
Есть ли у вас официальная дата выпуска 2.2 ?, по поводу вашего комментария, у вас есть какие-либо ссылки на github, чтобы немного пообщаться с этим конфигом для рабочих процессов развертывания?
Osrecio
2.2 все еще находится в разработке, но должна выйти в 3 квартале. Я еще ничего не знаю, в github можно поиграть ...
mkotov