用于生成服务部署配置的实用工具

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

全局选项

以下全局选项可用。

NameDefaultDescription
^{}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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring Websocket处理程序未向所有客户端发布消息   java动态识别base64编码的文件类型   使用有界类型参数的java“两种方法具有相同的擦除”错误   Java中与互斥体相关的多线程问题   华为设备上的java文本对齐问题   java试图运行ant获取错误   java无法从此SPARQL查询中获得任何结果   java有没有人使用过GUTS(GUICE UTILITIES TOOLS SWING)?   在第三方应用程序中打开和关闭的Java程序监视器文件   java Codename One在iOS上保存照片的权限   swing Java程序,使用两个滑块生成两个数字相加   java如何在不安装插件的情况下将lombok jar添加到intellij idea中?   javascript getElementById在IE浏览器中工作,但在iFrame中不工作