为分阶段环境构建 Salt State 文件

为分阶段环境构建 Salt State 文件

应如何构建 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

相关内容