两个文件--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/
相关推荐
fabfile
标题中的"PyPI 官网下载 | django-fabfile-2012.03.31.3.tar.gz"表明这是一个从Python Package Index (PyPI)官方源下载的软件包,名为`django-fabfile-2012.03.31.3.tar.gz`。PyPI是Python开发者发布自己开源作品的...
在Python3中,fabfile是一个用于自动化部署和管理远程服务器的脚本,它基于Fabric库。Fabric是一个命令行工具和库,它允许通过SSH执行命令并控制远程主机。fabfile主要用于简化重复性的系统管理员任务,如部署代码、...
标题中的"PyPI 官网下载 | django-fabfile-2011.09.02.1.tar.gz"表明这是一个从Python Package Index (PyPI)官方源下载的软件包,名为`django-fabfile-2011.09.02.1.tar.gz`。PyPI是Python开发者发布自己开源项目的...
标题中的“PyPI 官网下载 | django-development-fabfile-2.3.tar.gz”指出这是一个从Python Package Index(PyPI)官方下载的压缩包,主要用于Python开发。PyPI是Python社区广泛使用的仓库,用于发布和共享Python...
一键式部署,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 ...
Jenkins 是一个流行的持续集成和持续部署(CI/CD)工具,它允许开发者自动化构建、测试和部署软件。在 Jenkins 中,你可以通过编写或配置脚本来实现代码的自动化上线。一个简化的步骤和脚本介绍,用于指导如何在 ...
与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-...
`fab` 工具允许用户在命令行中调用定义在 `fabfile.py` 中的任务,这些任务可以包括文件传输、运行命令、配置管理等。`fabfile.py` 是一个Python文件,其中定义了各种操作,这些操作可以通过 `fab` 命令在远程主机上...
可以在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脚本存储...
- `-f`参数可以指定任务文件的路径,如果不指定,Fabric会默认查找`fabfile/fabfile.py`。 以下是一些常见的Fabric函数示例: - `local('command')`: 在本地执行命令。 - `lcd(directory)`: 更改本地工作目录。 - `...
root@openstack:~# cat fabfile.py def hello(): print('hello world!') root@openstack:~# fab hello hello world! 这个fab简单地导入了fabfile,并执行定义的hello函数。 命令行启动 fab作为Fabric程序的命令行...
`fabfile.py`是包含任务定义的Python文件,而`invoke`则是一个命令行工具,用于运行这些任务。`fab`命令行接口允许你执行`fabfile.py`中的任务,这样你可以轻松地在本地或远程服务器上执行一系列操作。 1. **...