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

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如何强制用户在允许访问活动之前处理对话框?我的许可证代码怎么了?   java ArraysList作为JSON   mysql如何在java中创建包含多个可选where子句的搜索语句?   java如何让Apache Camel在“直接”路径的末尾删除文件?   使用socket在两个Androids之间进行java实时数据传输。IO(websocket)和4G   如何在java中实现两个CORBA服务器之间的通信   会话树xml表示为java对象   java Skype4Java编号swtwin323325   java RecyclerView getAdapterPosition()不工作:第一次单击返回正确位置,第二次单击返回1   java在$TOMCAT/conf/context上为JNDI设置资源。xml   java为什么第二个矩形冲突在第一个矩形冲突时不起作用?   JScrollPane上的java JTextArea未出现在JPanel上   java如何将实现的PriorityQueue打印为字符串?   jpa使用Jersey更新用户角色RESTJava(JAXRS)