Decorators:
We can use decorators to use a specific environment.
-use @task to separate task from general functions.
For example. It you use command fab list to list all command in below fabfile. It will only display
the functions with @task decorators .
##fabfile.py
from fabric.api import *
@task
def cmd(cmd):
run(cmd)
def cmd2(cmd):
run(cmd)
@task
def cmd3(cmd):
run(cmd)
-use @roles to specify a task only can ran on which roles
#fabfile.py
env.hosts=[“192.168.1.1”,”aal.yourdomain.com"]
env.roledefs={“web":[“aal.yourdomain.com"],”ap":[“1.1.1.1"]}
And you can use decorators to specify which tasks are ran on which roles.
@roles(“web")
def apache():
sudo("apt-get update")
sudo("apt-get install -y apache2")
沒有留言:
張貼留言