dmstr/yii2-yaml-converter-command

此包已被废弃,不再维护。没有建议的替代包。

根据 YAML 规则转换和合并 YAML 文件

安装数: 5,493

依赖: 0

建议者: 0

安全: 0

星星: 2

关注者: 3

分支: 0

开放问题: 0

类型:yii2-extension

0.3.1 2015-06-16 01:28 UTC

This package is auto-updated.

Last update: 2022-08-31 07:19:57 UTC


README

🚨 此存储库已废弃

TL;dr

这是一个用于转换和合并 YAML 文件的控制台命令。

该项目作为我们的 Docker 开发和构建过程的辅助工具而开发,目前可能处于高度偏颇的状态。

注意:您可以直接使用 docker 运行此命令,因为它属于 Phundament。以下为详细信息。

安装

通过 composer 安装此扩展是首选方法。

运行以下命令

composer require --prefer-dist dmstr/yii2-yaml-converter-command "*"

到您的 composer.json 文件的依赖部分。

在控制台配置中注册转换命令

'controllerMap' => [
	'stack-converter' => 'dmstr\console\controllers\DockerStackConverterController'
],

使用方法

在 Yii 2.0 应用程序中

安装扩展后,在命令行中使用它

./yii yaml/convert-docker-compose \
    --dockerComposeFile=@app/docker-compose.yml \
    --templateDirectory=@app/build/stacks-tpl \
    --outputDirectory=@app

替代别名

./yii yaml/convert-docker-compose \
    --dockerComposeFile=@root/docker-compose.yml \
    --templateDirectory=@root/build/stacks-tpl \
    --outputDirectory=@root

通过 Docker 镜像

您可以直接从 phundament/app Docker 镜像运行 Docker 堆栈的转换器

docker run phundament/app ./yii help yaml/convert-docker-compose

检查选项后,我们可以将 tests 挂载到容器中的 /mnt,并运行转换过程

docker run -v `pwd`/tests:/mnt phundament/app ./yii yaml/convert-docker-compose \
    --dockerComposeFile=/mnt/base.yml \
    --templateDirectory=/mnt/stacks-tpl \
    --templateReplacementsFile=/mnt/eny.yml \
    --outputDirectory=/mnt/stacks-gen

提示!您可以使用 docker run phundament/app composer show -i dmstr/yii2-yaml-converter-command 检查安装的版本

它是如何工作的?

docker-compose 转换器

转换过程遵循以下简单的规则集

  • dockerComposeFile 读取为新的 基础文件
  • templateDirectory 中查找 *.tpl.yml 文件
  • 读取 templateReplacementsFile 并替换每个模板中的值
  • 应用 .variable 规则(如 CLEAN
  • 将模板与 基础文件 合并,并将新文件写入 outputDirectory
  • 如果存在与模板同名的子文件夹,则递归到该文件夹,并使用最后一步创建的新文件重复此过程

您可以使用 .image: CLEAN 来移除服务的 image 属性。