用于生成服务部署配置的实用工具
deploy-config-generator的Python项目详细描述
部署配置生成器
用于生成服务的部署配置的实用程序
基本用法
下面的命令将为当前目录中的指定服务生成所需的部署配置文件。
$ deploy-config-generator path/to/service/repo
您可以指定要为其生成配置的环境。
$ deploy-config-generator path/to/service/repo -e stage
可以使用--output-dir
选项指定输出目录。
$ deploy-config-generator path/to/service/repo --output-dir /tmp
您可以增加详细级别以查看脚本正在执行的操作。
$ deploy-config-generator path/to/service/repo -vvv
可以指定站点配置文件的路径。
$ deploy-config-generator path/to/service/repo --config path/to/site/config.yml
肮脏的细节
站点配置
可选的站点配置文件应该是具有以下基本结构的yaml文件。
---some_global_option:fooanother_global_option:barplugins:plugin_name:some_plugin_option:bazfields:<field definitions>
字段定义应具有以下基本结构(从上往下)。
fields:field_name1:type:strfield_name2:type:booldefault:false
全局选项
以下全局选项可用。
Name | Default | Description |
---|---|---|
^{ | The default output plugin to use (probably to be removed) | |
^{ | ^{ | Directory within service dir where deploy config is located |
^{ | ^{ | Name of deploy config file |
^{ | ^{ | Directory within deploy dir to look for vars files |
^{ | ^{ | Patterns for finding "local" vars files |
^{ | ^{ | Patterns for finding "defaults" vars files |
^{ | ^{ | Patterns for finding env-specific vars files |
^{ | ^{ | Whether to read vars from environment |
^{ | ^{ | Additional dirs where plugins can be found |
变量
变量从部署目录中的shell兼容.var
文件(默认情况下)读取。变量
支持引用其他变量(使用$FOO
或${FOO}
符号)的定义,但使用
“本地”变量文件。变量按以下顺序读取。
- “local”vars文件-当通常来自环境的变量时用作备用值 不存在
- 来自环境的变量-用于在CI作业中运行
- “default s”变量文件-所有环境的默认值
- env-specific vars files—特定于特定应用程序环境的值
部署配置
部署配置是从deploy/config.yml
(默认情况下)上指定的目录中读取的。
命令线。它应该是具有以下基本结构的yaml文件。
---apps:<app definitions>jobs:<job definitions>
可用的顶级部分及其允许的键由单个输出定义 插件。
插件
此工具使用插件系统处理为各种后端生成部署文件。
提供以下输出插件:
开发
运行测试
此工具带有单元和集成测试套件,可以使用以下命令运行:
$ python setup.py test
$ python setup.py integration
通过运行:
$ tox
重新生成插件文档
各个插件的文档是根据插件的代码生成的。你可以重新生成插件文档 使用以下命令:
$ scripts/gen-plugin-docs.py