fabric 2.5.0可以通过添加类似env配置文件,从而达到减少执行命令的重复操作,比如减少每次执行任务的用户名和密码的输入
如果将用户名和密码写入fabric.py这种项目文件中,并提交到git仓库的话也是非常不安全的
但是根据用户来创建一个可自己访问和执行的文件就比较方便,尤其是在linux系统下,多个用户多一个操作系统都有权限的话,每个用户下面只要有个~/.fabric.yaml
文件
便可以执行fabric的任务操作,从而避免了将重要密码暴漏给所有人,或者将自己的密码共享给所有人
创建配置文件
touch ~/.fabric.yaml
在配置文件中添加类似如下的配置信息
user: dpzhang
pwd: 123456
然后在fabric.py
中添加任务
# -*- coding: utf-8 -*-
# @Author: durban.zhang
# @Date: 2019-12-04 16:52:35
# @Last Modified by: durban.zhang
# @Last Modified time: 2019-12-20 18:50:44
import getpass
from fabric import Connection, task
@task
def test(c):
print(c.user)
print(c.pwd)
命令行下执行
fab test
得到输出的结果如下
dpzhang
123456
如果将test方法修改如下
# -*- coding: utf-8 -*-
# @Author: durban.zhang
# @Date: 2019-12-04 16:52:35
# @Last Modified by: durban.zhang
# @Last Modified time: 2019-12-20 18:50:44
import getpass
from fabric import Connection, task
@task
def test(c):
print(c.user)
print(c.pwd)
print(c.hosts.host)
同时修改~/.fabric.yaml
,内容修改后如下
user: dpzhang
pwd: 123456
hosts:
host: 127.0.0.1
再次运行
fab test
得到的输出结果如下
dpzhang
123456
127.0.0.1