punkstar / mageconfigsync
此软件包已被废弃,不再维护。没有建议的替代软件包。
一个辅助存储 Magento 配置到版本控制中的工具。
0.5.0-beta.1
2016-09-15 15:51 UTC
Requires
- php: >=5.3.0
- symfony/console: ^2.6.4
- symfony/yaml: ^2.6.4
Requires (Dev)
- clue/phar-composer: dev-master
- firegento/mage-ci: dev-master
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2022-01-13 00:07:17 UTC
README
这是一个工具,旨在允许团队将 Magento(1.x 和 2.x 受支持)配置保持在版本控制之下,消除在追踪可能相关的配置问题时出现的不确定性。
文件语法
配置值存储在 YAML 文件中。文件的格式如下
environment:
scope_key:
path: value
例如
production:
default:
dev/debug/template_hints: 0
development:
default:
dev/debug/template_hints: 1
stores-1:
currency/options/base: GBP
dev/restrict/allow_ips: null
上述内容将
- 禁用产品上的模板提示;
- 在开发环境中启用模板提示;
- 将货币设置为英镑(GBP)在 ID 为 #1 的商店作用域内;
- 确保允许的开发 IP 地址从网站继承到商店 #1。
有效的范围键是
- 默认
- stores-
$id
- websites-
$id
使用方法
php bin/mageconfigsync --help
大多数命令如果不在 Magento 目录中运行,则可选参数为 --magento-root
,如果使用了 --env
选项,则用来描述当前配置的环境。
导出
php bin/mageconfigsync dump --help
导出命令将当前配置的内容作为 YAML 输出到标准输出。指定 --env
选项,则方便地将其添加为第一个键。
加载
php bin/mageconfigsync load --help
加载命令将数据库与文件内容同步。任何更改的行将被输出到标准错误。使用 --env
选项将确定加载 YAML 文件的哪个部分。
差异
php bin/mageconfigsync diff --help configuration_file.yaml
示例场景
得益于 symfony/yaml 组件,我们可以使用 YAML 提供的所有技巧,包括合并键。考虑以下文件,config.yml
prod:
default: &prod_global
currency/options/base: GBP
dev/debug/template_hints: 0
dev:
default:
<<: *prod_global
dev/debug/template_hints: 1
我们的目标是确保货币始终设置为 GBP
,无论环境如何,但模板提示仅应在本地环境中启用。
在我们的开发机器上,我们可以拉取最新的更改,并运行以下命令以获取我们想要的配置
php bin/mageconfigsync load --magento-root ~/Sites/magento --env dev config.yml
我们还可以将此 config.yml
作为我们部署过程的一部分。考虑以下工作流程
// Take a backup of the configuration, incase we need to restore as part of a rollback
php bin/mageconfigsync dump --env prod > config.yml.pre-deploy
// Give us a diff for the deployment log so we can see what's about to be changed
php bin/mageconfigsync diff --file-env prod config.yml
// Sync the latest configuration changes to prod
php bin/mageconfigsync load --env prod config.yml
恭喜,您的 Magento 配置现在得到了控制,可审计且一致。