app / etc / config.php w VCS lub nie

15

Mam pytanie związane z plikiem app/etc/config.php.

Ten plik opisany tutaj i zdefiniowany:

Magento base dir/app/etc/config.php, który zawiera listę zainstalowanych modułów, motywów i pakietów językowych.

Jest jak app/etc/modules/*w Magento 1 (normalnie mam te pliki w VCS).

Ale w Magento 2 zaleca się nie udostępniać w VCS (Official .gitignore ).

Mam pytania lub przypadki użycia dla udziału w VCS, ale chcę zrozumieć, ponieważ nie zaleca się dodawania w VCS

  1. Środowisko produkcyjne (z systemem wdrażania Capistrano/Deployer, etc)
    • Zrobić nową instalację ... I Need You umożliwić nowa / y moduł / y php bin/magento module:enable VendorName_NewModuleprzedsetup:upgrade
      • Jak poradzisz sobie z tą sytuacją?
    • Zrobić nową instalację i trzeba wyłączyć (dla każdej sytuacji) nowa / y moduł / y php bin/magento module:disable VendorName_NewModuleprzedsetup:upgrade
      • Jak poradzisz sobie z tą sytuacją?
  2. Lokalne środowisko

    • Jeśli nie chcesz, aby Twój zespół miał włączony / wyłączony określony moduł / moduły
      • Jak poradzisz sobie z tą sytuacją?
  3. Środowisko przejściowe

    • W jaki sposób można osiągnąć taką samą konfigurację modułów włączanych / wyłączanych do produkcji, jeśli nie są udostępniane app/etc/config.php
      • Jak poradzisz sobie z tą sytuacją? Potrzebujesz zrobić ręcznie?

Jaki jest twój punkt widzenia i jak radzisz sobie z tymi sytuacjami?

Dzięki

* VCS: System kontroli wersji, np .: git, svn itp

osrecio
źródło

Odpowiedzi:

13

Nie ma nic złego w włączeniu config.phpdo VCS, jeśli twoje potrzeby są oparte na tym, że konfiguracja jest taka sama w różnych środowiskach, szczególnie w stanach włączenia / wyłączenia modułów. Efektem ubocznym takiego działania jest narzucone sobie ograniczenie w zakresie posiadania tych samych motywów, pakietów językowych itp. Na każdym z nich.

W Magento 2.2 wprowadzimy pewne ulepszenia, aby zwiększyć elastyczność zarządzania konfiguracją, aby obsługiwać różne przepływy pracy wdrażania. Będziesz mieć plik, który ma zawierać całą udostępnioną konfigurację app/etc/config.php(przeznaczony dla konfiguracji, która prawdopodobnie będzie taka sama we wszystkich środowiskach i przechowywana w VCS). Będziesz mieć inny plik, który ma zawierać konfigurację specyficzną dla systemu app/etc/env.php(przeznaczoną do konfiguracji, która prawdopodobnie będzie inna w systemach deweloperskich, pomostowych i produkcyjnych).

W międzyczasie opracowaliśmy kilka metod wdrażania od społeczności, które można znaleźć na tej stronie na wypadek, gdyby to pomogło.

Mkotov
źródło
Czy masz oficjalną datę wydania 2.2 ?, na temat twojego komentarza, czy masz jakieś odniesienia w githubie, aby pogłębić nieco te konfiguracje dla przepływów pracy wdrażania?
osrecio
2.2 jest wciąż w fazie prac, ale powinien pojawić się w trzecim kwartale. Nie jestem jeszcze świadomy niczego w githubie, z którym można by grać ...
mkotov 19.04.17