应如何构建 Salt State 文件和 Pillar 配置,以便能够在以下阶段环境中顺利部署各种 minion 角色:开发,质量保证和生产以及功能分支?
我已将我的根状态文件和支柱状态文件排列在与我的 Python 项目源代码不同的存储库中,如下所示:
salt-states/
pillar/
web/
init.sls
production.sls
qa.sls
dev.sls
db/
init.sls
production.sls
qa.sls
dev.sls
top.sls
roots/
web/
init.sls
production.sls
qa.sls
dev.sls
db/
init.sls
production.sls
qa.sls
dev.sls
top.sls
我的 top.sls 文件应如何利用这种结构以及如何以这种方式定位功能分支?
答案1
我建议使用 gitfs 和 git_pillar。
Gitfs 允许您将 file_roots 保存在 git repo 中。您的主分支将成为您的“基础”环境,每个分支和标签也将成为环境。
http://docs.saltstack.com/topics/tutorials/gitfs.html?highlight=gitfs
Git_pillar 类似。
http://docs.saltstack.com/ref/pillar/all/salt.pillar.git_pillar.html