dmstr / yii2-yaml-converter-command
此包已被废弃,不再维护。没有建议的替代包。
根据 YAML 规则转换和合并 YAML 文件
0.3.1
2015-06-16 01:28 UTC
Requires
- symfony/yaml: ~2.6
- yiisoft/yii2: 2.*
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
属性。