如何使小工具使用特定的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