如何让小兵使用特定的SaltStack环境?
GitFS backend tutorial表示分支将使用分支名称作为标识符映射到环境。如何将这些环境暴露给我的仆从?
举个例子,假设I have a branch名为“pippy”。我想将那个分支部署到特定的奴才。
似乎我可以通过minion的配置文件设置环境。还有其他方法可以从盐主人那里完成吗?
答案 0 :(得分:18)
这里的关键是top.sls
文件是跨环境的。在我们进入之前,重要的是要注意虽然大多数分支将映射到同名环境,但例外是master
分支将映射到base
环境。
无论如何,到top.sls
。在top.sls
中,您定义了您的环境,哪些minions是该环境的成员,以及将从该环境为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
因此,所有minions都将运行basestate.sls
环境中的base
文件。只有目标仆从才会从其他每个环境中运行状态。
还有更多信息in the topfile documentation。
在minion配置中定义环境选项只是将minion与特定环境隔离开来。从topfile定义环境会更加灵活和强大。