是否在VCS中使用app / etc / config.php


15

我有一个与file有关的问题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_NewModulesetup:upgrade
      • 您如何处理这种情况?
    • 您进行了新的部署,并且需要禁用(在任何情况下)新模块,php bin/magento module:disable VendorName_NewModule然后才能进行部署setup:upgrade
      • 您如何处理这种情况?
  2. 当地环境

    • 如果您不希望您的团队启用/禁用特定模块
      • 您如何处理这种情况?
  3. 暂存环境

    • 如果不共享,如何实现生产启用/禁用模块的相同配置 app/etc/config.php
      • 您如何处理这种情况?您需要手动制作吗?

您的观点是什么或如何处理这些情况?

谢谢

* VCS:版本控制系统,例如:git,svn等

Answers:


13

config.php如果您的需要基于各种环境中相同的配置,尤其是模块的打开/关闭状态,那么将其包含在VCS中就没什么问题。这样做的副作用是您在每个主题上都有相同的主题,语言包等方面的限制。

对于Magento 2.2,我们将进行一些改进,以增加配置管理的灵活性,以支持各种部署工作流。您将拥有一个旨在包含所有共享配置的文件app/etc/config.php(意味着配置可能在所有环境中都相同并且保存在VCS中)。您将拥有另一个文件,该文件包含系统特定的配置app/etc/env.php(旨在包含在开发,登台和生产系统中可能不同的配置)。

在此期间,我们已经策划了一些部署在社区办法,你可以找到这个页面上的情况下,它可以帮助。


您是否有正式发布2.2版本的日期?关于您的评论,您在github中是否有参考资料可以深入了解这些用于部署工作流的配置?
osrecio '17

2.2仍在开发中,但应该在第三季度发布。我不知道github中有什么可玩的……
mkotov
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.