env.hosts = [ '192.168.33.11', '192.168.33.12', ] env.key_filename = ['~/.ssh/id_rsa'] env.user = 'vagrant' env.password = 'vagrant'
env.gateway = '192.168.33.100'
※デフォルトではエラーが出たらその時点で中止する
env.warn_only=true
def yumcheck() run("yum list installed, warn_only=true")
def hostinfo(): """ これはホストの情報を確認するタスクです """ run("uname -a") run("hostname") $ fab --list hostinfo これはホストの情報を確認するタスクです
env.roledefs= { 'webservers': ['192.168.33.10', '192.168.33.11'], 'mailservers': ['192.168.33.12'] } @roles("webservers") def sometask(): #do something
上記のようにroleを設定しても良いけど、特定のタスクで特定のroleだけを指定したい場合に下記のように記述するこもと可能
WEBSERVER="192.168.1.10" @hosts(WEBSERVER) def hogetask():
TESTID="testdayo" MAILADDRESS="hogepiyo@hogepiypiyo.com" def testshell(): run("/bin/bash test.sh %s %s" % (TESTID, MAILADDRESS))
hostname = run("hostname -s") run("echo %s" % hostname)
hostname = run("hostname -s") get("/remote/path/%s.log" $ hostname, "/local/path/%s" % env.user)