1
主機列表或(至少在我的場景中)有些動態的,並與代碼分離的。如何在文本文件(而不是代碼)中指定主機列表或角色定義?
另外,很多時候我使用面料作爲「單行」 - 也就是說,不寫劇本。
我正在尋找一種簡單的方法來定義不需要修改或使用python腳本的主機和/或角色定義列表。 首選每行簡單的主機格式,因爲它是出站主機列表的當前格式。
從我看到的最接近的東西是.rc文件 - 但根據文檔它只支持簡單變量。
主機列表或(至少在我的場景中)有些動態的,並與代碼分離的。如何在文本文件(而不是代碼)中指定主機列表或角色定義?
另外,很多時候我使用面料作爲「單行」 - 也就是說,不寫劇本。
我正在尋找一種簡單的方法來定義不需要修改或使用python腳本的主機和/或角色定義列表。 首選每行簡單的主機格式,因爲它是出站主機列表的當前格式。
從我看到的最接近的東西是.rc文件 - 但根據文檔它只支持簡單變量。
如果我正確理解你,你需要單獨的文件作爲主機列表。您需要將此行添加到您的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
這應該工作,但它仍然需要對fabfile進行修改。我正在尋找一種不涉及修改腳本的方法。 –
@OphirYoktan,你能爲主機指定更好的格式嗎? –
您建議的格式(每行一個主機)就是我們正在尋找的。不過,我希望用戶能夠創建和修改專門的fabfiles。所以我不希望他們之間有任何共享的任務或代碼(這可能會丟失或損壞的時間) –