app / 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 (Official .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 тощо

Відповіді:


13

Немає нічого поганого в тому, щоб включати config.phpв VCS, якщо ваші потреби базуються на однаковій конфігурації в різних середовищах, особливо в станах включення / вимкнення модулів. Побічним ефектом цього є обмеження, яке ви накладаєте на себе з точки зору того, що однакові теми, мовні пакети тощо мають також і для кожної.

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

Тим часом ми створили декілька підходів до розгортання від спільноти, які ви можете знайти на цій сторінці, якщо це допоможе.


У вас офіційна дата випуску 2.2?, Щодо вашого коментаря, у вас є посилання на github, щоб трохи поглибити ці налаштування для робочих процесів розгортання?
osrecio

2.2 ще працює, але має вийти у третьому кварталі. Мені нічого не відомо в github, з чим би пограти ...
mkotov
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.