两个文件--Fabfile & Fabricrc
Fabfile
之前已经说过很多次fabfile, 也提到过这是一个python模块,但是也不去对。这需要知道fabric执行原理。fabric能够加载python模块(如fabfile.py)或者包(比如fabfile/目录下包含init.py)。默认情况下,它会寻找名叫fabfile或fabfile.py的东西。
Fabfile的搜索算法是需找用户当前活动目录,或者它的父目录。因此一般在一个项目中,把fabfile放在该项目源代码的根路径则在程序中任何地方都能使用fab命令。
Fabric现在是纯python,所以可以随时可以以任何方式import它的组件,为了封装与方便,现在所有7类核心API都被包括在模块fabril.api下。所有只需在fabfile开头中:
from fabric.api import*
当然普通API(Contrib API)需要另外导入。在写fabfile时,本着实用和简便的原则,选择是使用from fabric.api import * 还是 from fabric.api import abort, cd, env, get 具体情况具体分析。
Fabricrc
我们之前一直说fabfile, 如果有人不想用fabfile这个名字怎么办,因为他想用一个他自己喜欢的名字,或者处于其他目的。这个时候同样有办法,那就是在fabric本地配置文件fabricrc中修改,添加如下条目:
fabfile=anything you want
默认情况下fab命令都会遵循一定原则去找fabfile或fabfile.py,但若通过fabricrc文件里面增加:fabfile=task.py,fab命令就会直接去寻找task.py,而不是fabfile了。
Fabricrc是fabric简单的用户配置文件,它会包含一些key-value形式的内容,一条信息一行,每行类似于:user = sshusername这种形式。
一般不需要该配置文件,默认路径在env.fabfile中指定有:~/.fabricrc,这个配置会被fab -c命令选项覆盖。对于一些固定不变的env变量通过fabricrc设置可能比较方便。需要注意的是fabricrc中指定的fabfile文件名会直接影响到fab命令查找fabfile的文件名,正因为它的优先级在fabfile之上,所以该文件中key-value的形式将直接改变env中的值。
使用举例:
如果你的SSH LOGIN 用户名不同于你的工作间用户名,而你又不想在项目的fabfile中改变env.user的值(也许你想方便其他用户),这是你可以使用如下设置:
user = ssh_user_name
这个当你运行fab时,你的fabfile会将env.user设置为’sshusername’
原文:http://paperplane.ruhoh.com/fabric/fabfile-fabricrc/
相关推荐
给大家分享了Python3中详解fabfile的编写的相关知识点以及重要内容,有兴趣的朋友跟着学习下。
资源来自pypi官网。 资源全名:django-development-fabfile-2.3.tar.gz
资源来自pypi官网。 资源全名:django-fabfile-2012.03.31.3.tar.gz
资源来自pypi官网。 资源全名:django-fabfile-2011.09.02.1.tar.gz
一键式部署,windows远程连接服务器,cmd命令部署
资源分类:Python库 所属语言:Python 资源全名:django-development-fabfile-2.14.6.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
ESXi 制造文件用于从 VMware ESXi 上的模板克隆 VM 的简单 Fabric fabfile 安装面料: #> pip install fabric有关 Fabric 安装的更多信息: : 用法 : fab -listAvailable commands: esx.clone_vm Read ...
与appengine相关的fabfile命令的集合。用法安装依赖项 pip install https://github.com/xlevus/fabengine/zipball/master创建fabfile并配置: import fabenginefabengine.config(root=os.path.join(os.path.dirname...
是一个功能强大的工具,称为fabfile.py 。入门安装并对其进行测试: $ fab --versionFabric 1.13.1Git克隆此仓库并移至目录git clone ...
Chef 食谱和 Fabfile,用于部署加州公民数据联盟的应用程序,以分析加州国务卿在 Amazon Web Services 上的 CAL-ACCESS 数据库 先决条件 Python 2.7 虚拟环境 混帐 入门 创建一个虚拟环境。 $ virtualenv django-...
可以在fabfile.py中按fabfile.py : 示例fabfile.py : from dvhb_printsrc import printsrc 然后,您可以运行: $ fabfile printsrc:'path/to/src',outFile.html,,'.py[oc]+$\\,static' 注意: regex分隔符使用...
Fabric 是基于 SSH 协议的 Python 工具,相比传统的 ssh/scp 方式,用 Python 的语法写管理命令更易读也更容易扩展,管理单台或者多台机器犹如本地操作一般。 官网地址:http://fabfile.org ...创建fabfile
ha Phabalicious正在使用存储在项目根目录中特殊文件中的配置(fabfile.yaml)来在Shell中运行任务。 该外壳程序可以由docker-container,ssh-connection或本地外壳程序提供。 这意味着,您可以将所有devops脚本存储...
root@openstack:~# cat fabfile.py def hello(): print('hello world!') root@openstack:~# fab hello hello world! 这个fab简单地导入了fabfile,并执行定义的hello函数。 命令行启动 fab作为Fabric程序的命令行...
在该目录中,使用以下内容创建fabfile.py # fabfile.pyfrom headintheclouds.tasks import *from headintheclouds import ec2from headintheclouds import ensemblefrom headintheclouds import d
简介:Fabric提供了系统基础的操作组件,...常用参数编写一个fabfile.py文件vimfabfile.pyfab命令操作:上面实例也可以写成一行代码:fab命令是结合fabfile.py文件(其他文件通过-ffilename参数来引用)来搭配使用的。fa
克隆此存储库配置在fabfile.py为本地测试设置适当的端口以在您的计算机上fabfile.py # Port for `serve`PORT = 8001建造生成网站invoke build启动本地服务器进行测试(可通过)。 invoke serve这不会在更改后重建...
这个脚本是什么?... $ vi fabfile.py请务必更改以下项目。工作用户名:USER_NAME工作用户密码:PASSWORD要连接的 VPS 服务器的 IP 地址:env.hosts建议同时更改以下项目。 根电子邮件地址:ROOT_MAIL
该存储库包括用于在本地Docker容器中运行项目的docker docker-compose配置,以及用于配置和管理fabfile的fabfile。 依存关系 运行本地环境需要以下内容。 确认指定的最低版本正在运行:如果您已经安装了旧版本,它们...