2013-09-01 42 views
1

主機列表或(至少在我的場景中)有些動態的,並與代碼分離的。如何在文本文件(而不是代碼)中指定主機列表或角色定義?

另外,很多時候我使用面料作爲「單行」 - 也就是說,不寫劇本。

我正在尋找一種簡單的方法來定義不需要修改或使用python腳本的主機和/或角色定義列表。 首選每行簡單的主機格式,因爲它是出站主機列表的當前格式。

從我看到的最接近的東西是.rc文件 - 但根據文檔它只支持簡單變量。

回答

1

如果我正確理解你,你需要單獨的文件作爲主機列表。您需要將此行添加到您的fabfile

env.roledefs = { 
    #static roles 
} 
# add dynamic role from file "hosts" 
with open("./hosts") as f: 
    env.roledefs['tmp'] = f.readlines() 

在當前目錄中的主機列表中創建hosts文件:

example1.com 
example2.com 

嘗試:

$ fab -R tmp -- uname -a 
+0

這應該工作,但它仍然需要對fabfile進行修改。我正在尋找一種不涉及修改腳本的方法。 –

+0

@OphirYoktan,你能爲主機指定更好的格式嗎? –

+0

您建議的格式(每行一個主機)就是我們正在尋找的。不過,我希望用戶能夠創建和修改專門的fabfiles。所以我不希望他們之間有任何共享的任務或代碼(這可能會丟失或損壞的時間) –

相關問題