织物工具

Hemp的Python项目详细描述


用于Fabric的环境感知配置和工具。

https://img.shields.io/pypi/v/Hemp.svg?style=flat-square:target:https://pypi.python.org/pypi/Hemphttps://img.shields.io/pypi/l/Hemp.svg?style=flat-square:target:https://pypi.python.org/pypi/Hemphttps://img.shields.io/pypi/pyversions/Hemp.svg?style=flat-square:target:https://pypi.python.org/pypi/Hemphttps://img.shields.io/github/issues/Addvilz/hemp.svg?style=flat-square:target:https://github.com/Addvilz/hemp/issues

安装

pip install hemp

什么是大麻

大麻被包裹着 使织物具有一定的环保意识,并允许使用配置
设置要在结构脚本中使用的公共或每个环境变量的文件。
大麻被认为是稳定的,可以生产。
它由MobileCashout内部使用,并且已经被
用于执行数以千计的生产部署和无数的自动化
跨多个平台的任务,目前为止没有任何问题。

用法

hemp可执行文件包装织物并对 如何加载和执行结构,即
在结构执行之前加载默认任务和配置文件。
命令行界面与fabric本身没有任何不同, 因此,运行任务
像往常一样,用hemp替换fab应该可以从 盒子。

与面料的区别

fabfile位置

默认情况下,fabric将从当前工作加载fabfile.py。 目录或任何父目录。
hemp扩展了这个功能,包括位于 $HOME当前用户。
这允许您在 一个文件,在不指定文件的情况下使用它们
使用hemp时明确定位。

HEMP文件

hemp从hemp配置文件加载配置 hemp.yml。默认情况下,它们从$HOME
加载
当前用户和当前工作目录。
ifhemp.ymlif在用户的主目录和 当前工作目录,两个文件都将加载并
它们的内容递归地与^{tt7}的内容合并$ 以当前工作目录为准。

默认阶段

默认情况下,指定阶段需要加载阶段配置 在执行任何其他任务之前。它可以完成
使用一个预定义的阶段任务或自定义 一个,将名称作为参数传递给ontask。

考虑这些示例:

hemp development [task]

hemp on:development [task]

最终将使用developmentstage。

示例环境配置

hemp:environments:staging:roles:web:['web0.host.com']db:['web0.host.com']production:roles:web:['web1.host.com','web2.host.com','web3.host.com','web4.host.com']db:['web1.host.com']development:roles:web:['web5.host.lan']db:['web5.host.lan']# [...]

加载主机和角色
当用一个stage任务或ontask调用时,hemp将 将适当的配置加载到fabric的env字典。
例如,加载stagingstage将填充env 衰减值:
env.hosts=['web0.host.com']env.roledefs['web']=['web0.host.com']env.roledefs['db']=['web0.host.com']

主机和角色定义合并
hemp将合并所有值,而不是重写 已经位于env字典中,两个都用于主机
和角色定义。

附加env设置

hemp.yml文件的所有根键都将加载到fabric的 env字典。例如,具有像

hosts:['a.com','b.com']hemp:[# ...]

将导致env.hosts填充a.comb.com

许可证

根据Apache2.0许可的条款和条件许可。

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

推荐PyPI第三方库


热门话题
java Kafka producer大量内存使用(泄漏?)   java NullPointerException。。。正在插入数据但无法检索数据[Mysql DB]   java spring+jpa+hibernate=没有可用于当前线程的实际事务的EntityManager无法可靠地处理“persist”调用   getelementbyid在没有ID的情况下如何在java中使用GetElementsById   java有没有一种使用WatchService强制轮询的方法?   java将值从jframe传递给另一个jframe并使用它   Java/Groovy中带重试的反应式事件处理   具有两个包装器元素的java Jackson XML ArrayList输出   java总是在范围内使用不同的随机元素   取消选择java下拉列表值   多线程如何在Java中为对象的不同成员拥有不同的同步块   java如何使用多线程从文本文件中读取输入   java Spring启动附加崩溃命令   java使用公共或单独的actionPerfomed方法有什么区别   java用Spring3.0中的SpEL替换JSP中的EL   java作为windows服务运行应用程序时无法访问共享文件夹   java xml 1.1规范中的“解析数据”是什么意思?   以编程方式设置JComboBox索引时java触发ItemListener   java Android WebView:只加载HTML,不加载JS或CSS(在某些设备中)   Java:计算do/while循环的数量