app / etc / config.php dans VCS ou non

15

J'ai une question liée au dossier app/etc/config.php.

Ce fichier décrit ici et défini:

Magento base dir/app/etc/config.php, qui contient la liste des modules, thèmes et packages de langues installés.

Est comme app/etc/modules/*dans Magento 1 (Normalement, j'ai ces fichiers dans VCS).

Mais dans Magento 2 est recommandé de ne pas partager dans VCS ( .gitignore officiel ).

J'ai une question ou utilise des cas de partage dans VCS mais je veux comprendre car il n'est pas recommandé d'ajouter dans VCS

  1. Environnement de production (avec système de déploiement Capistrano/Deployer, etc)
    • Vous faites un nouveau déploiement ... et vous devez activer le nouveau / s module / s php bin/magento module:enable VendorName_NewModuleavantsetup:upgrade
      • Comment gérez-vous cette situation?
    • Vous effectuez un nouveau déploiement et vous devez désactiver (pour toute situation) les nouveaux modules / s php bin/magento module:disable VendorName_NewModuleavantsetup:upgrade
      • Comment gérez-vous cette situation?
  2. Environnement local

    • Si vous ne voulez pas que votre équipe ait un ou des modules particuliers activés / désactivés
      • Comment gérez-vous cette situation?
  3. Environnement de mise en scène

    • Comment pouvez-vous obtenir une même configuration de modules activés / désactivés en production si vous ne partagez pas app/etc/config.php
      • Comment gérez-vous cette situation? Vous devez faire manuellement?

Quel est votre point de vue ou comment gérez-vous ces situations?

Merci

* VCS: système de contrôle de version, par exemple: git, svn, etc.

osrecio
la source

Réponses:

13

Il n'y a rien de mal à inclure config.phpdans VCS si vos besoins sont basés sur la même configuration dans différents environnements, en particulier les états marche / arrêt de vos modules. L'effet secondaire de cela est la limitation que vous vous imposez en termes d'avoir les mêmes thèmes, modules linguistiques, etc. sur chacun d'eux également.

Pour Magento 2.2, nous allons apporter quelques améliorations pour ajouter plus de flexibilité à la gestion de la configuration afin de prendre en charge divers workflows de déploiement. Vous aurez un fichier qui est censé contenir toute la configuration partagée app/etc/config.php(destiné à la configuration qui est susceptible d'être le même dans tous les environnements et conservé dans VCS). Vous aurez un autre fichier destiné à contenir la configuration spécifique au système app/etc/env.php(destiné à contenir des configurations susceptibles d'être différentes selon les systèmes de développement, de transfert et de production).

En attendant, nous avons organisé quelques approches de déploiement de la communauté que vous pouvez trouver sur cette page au cas où cela aiderait.

mkotov
la source
Avez-vous la date officielle de sortie de la version 2.2?, Concernant votre commentaire, avez-vous une référence dans github pour approfondir un peu ces configurations pour les workflows de déploiement?
osrecio
2.2 est toujours en préparation, mais devrait sortir au troisième trimestre. Je ne suis pas encore au courant de quoi que ce soit dans github avec
lequel