[英]Using variables between tasks in fabric
我的fabfile有問題。 我有下一個下一個腳本
temp = []
rolesdef = { server1: [user@server.com],
server2: [user@server2.com, user@server3.com]
}
@task
@roles('server1')
def first():
...do something...
temp = something
@task
@roles('server2')
@parallel
def second():
...do something...
run(temp)
如何在first()中定義的second()中使用“ temp”? 另外,我想在一次執行fabfile期間在server1上執行first(),在server2上執行second()。
我應該使用execute(),但是如何在帶有“主機”的行中為auth設置密碼?
謝謝您的幫助。
您可以使用env共享溫度,使用with_setting裝飾器更改密碼和用戶-
from fabric.api import env
from fabric.decorators import with_settings, roles, task
rolesdef = { "server1": ["server.com"],
"server2": ["server2.com", "server3.com"]
}
connection = { "server1": {"user": "user1", "password": "123"},
"server2": {"user": "user2", "password": "456"}
}
@task
@roles('server1')
@with_settings(**connection["server1"])
def first():
...do something...
env.temp = something
@task
@roles('server2')
@with_settings(**connection["server2"])
@parallel
def second():
...do something...
run(env.temp)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.