semaio/magento2-configimportexport

在 Magento 2 中导入/导出 core_config_data 值

安装次数562,741

依赖项: 3

建议者: 0

安全: 0

星星: 157

观察者: 17

分支: 61

开放问题: 3

类型:magento2-module

4.4.0 2024-08-28 23:01 UTC

This package is auto-updated.

Last update: 2024-08-28 23:02:38 UTC


README

此扩展为 Magento 2 提供了 CLI 命令,用于导入/导出系统配置数据。

为什么选择此扩展?

虽然 Magento 2 提供了 app:config:dump / app:config:import 命令,但它们仅限于一个环境,并且管理起来有些困难,尤其是在 CI/CD 设置中。

此扩展支持管理多个环境(生产、测试等)的配置值,并允许在特定环境中定义和覆盖基本配置值。它还支持不同的文件格式(例如 YAML、JSON)。总的来说,它使这个过程更加流畅和易于管理,并具有通用性和与其他使用此扩展的机构/商家的跨兼容性。

安装

将包添加到 composer.json

composer require semaio/magento2-configimportexport

启用并安装模块

php bin/magento module:enable Semaio_ConfigImportExport
php bin/magento setup:upgrade

事实

  • 支持的 Magento 版本是 2.3 和 2.4。
  • 支持的 PHP 版本是 7.2、7.3、7.4 和 8.1。

功能

此模块是一个持续改进的项目,未来将扩展更多功能和对其他文件格式的支持。

文件格式

此模块目前支持以下文件格式

  • YAML(默认)
  • JSON

有关更多信息示例,请参阅 docs/file-formats.md

导入配置数据

有关更多信息,请参阅 docs/config-import.md

导出配置数据

有关更多信息,请参阅 docs/config-export.md

与 Deployer 一起使用

在 CI/CD 中使用推送方法时,应在运行器上替换环境变量,而不是在启动主机或目标主机上。为此,您可以使用此 Deployer 任务来完成此操作并导入配置设置;

task('magento:config:set', function () {
    $resolver = new \Semaio\ConfigImportExport\Model\Resolver\EnvironmentVariableResolver();
    $glob = glob('config/store/**/*.yaml');
    array_walk($glob, function ($file) use ($resolver) {
        if (file_put_contents($tempFile = tempnam('/tmp', get('clientslug')), $resolver->resolveValue(file_get_contents($file)))) {
            upload($tempFile, get('release_path') . '/' . $file);
        }
    });
    run('{{bin/php}} {{release_path}}/bin/magento config:data:import {{release_path}}/config/store ' . get('environment'));
});

支持

如果您遇到任何问题或错误,请在此处创建问题 GitHub

贡献

对 MageSetup 开发的任何贡献都备受欢迎。提供代码的最佳方式是在此处打开 GitHub 上的拉取请求

许可证

开源软件许可证 (OSL 3.0)

贡献者

感谢所有 贡献者 贡献了宝贵的时光,为此模块做出了贡献。非常感谢!

灵感

此模块受到 Magento 1 的 n98-magerun 插件 "HarrisStreet ImpEx" by @SchumacherFM 的启发,您可以在以下链接中找到: 这里

版权

(c) 2016-2022 semaio GmbH / Rouven Alexander Rieker