如何使小工具使用特定的SaltStack環境?使用SaltStack設置環境
GitFS backend tutorial指出分支將映射到使用分支名稱作爲標識的環境。我如何將這些環境暴露給我的爪牙?
舉個例子,假設名爲「pippy」的I have a branch。我想將這個分支部署到特定的爪牙。
看來我可以通過小人的配置文件設置環境。有沒有其他方法可以從鹽師傅完成?
如何使小工具使用特定的SaltStack環境?使用SaltStack設置環境
GitFS backend tutorial指出分支將映射到使用分支名稱作爲標識的環境。我如何將這些環境暴露給我的爪牙?
舉個例子,假設名爲「pippy」的I have a branch。我想將這個分支部署到特定的爪牙。
看來我可以通過小人的配置文件設置環境。有沒有其他方法可以從鹽師傅完成?
這裏的關鍵是top.sls
文件是跨環境的。在介紹之前,需要注意的是,儘管大多數分支將映射到同名環境,但例外情況是master
分支將映射到base
環境。
無論如何,請登錄top.sls
。在top.sls
中,您定義了您的環境,這些環境是該環境的成員,並且將從該環境運行哪個狀態文件以獲得state.highstate
。
base:
'*':
- basestate
dev:
'webserver*dev*':
- webserver
'db*dev*':
- db
qa:
'webserver*qa*':
- webserver
'db*qa*':
- db
pippy:
'webserver*pippy*':
- webserver
'db*pippy*':
- db
因此,所有的爪牙將運行從base
環境basestate.sls
文件。只有目標小衆才能從其他每個環境中運行狀態。
還有更多的信息in the topfile documentation。
在小配置配置中定義環境選項只是將小生物分隔到特定環境。從頂層文件定義您的環境更加靈活和強大。
我現在看到了。我一直在跳過topfile部分,認爲我的'top.sls'會在git repo中,而這樣做並不適合跨越分支(以及top.sls中的更改)。 –
如果top.sls文件在不同分支之間會發生什麼? –
在該文檔中有一個關於中途的註釋,但基本上來自每個環境的頂層文件將被合併到單個頂層數據結構中。基地環境將贏得衝突。通常,將頂級文件保留在基本(主)環境中是最容易的。 – basepi
我發現自己在這裏試圖弄清楚如何使用環境來通過dev/test/prod版本和促進狀態配置。我不確定這是否是用例,因爲我遇到了一些問題。我在郵件列表中詳細地發佈了更多信息:https://groups.google.com/forum/#!topic/salt-users/4P9YpaFdRTQ – thaddeusmt