【问题标题】:How can I deploy Puppet Master configuration files from my build server?如何从我的构建服务器部署 Puppet Master 配置文件?
【发布时间】:2014-08-12 01:21:12
【问题描述】:

我有一个(RedHat)Puppet Master 服务器,在/etc/puppet 中有 Puppet Master 的配置文件。

我已将 /etc/puppet 的全部内容放入源代码控制中,并希望我的 CI 服务器(Windows 上的 TeamCity)能够将更改部署到 Puppet Master 服务器。

我怎样才能做到这一点?

我知道我可以使用 scp,但复制到 /etc/puppet 需要 sudo 权限。同时我想要一个简单的设置。

如果有任何替代或更好的方法来部署 puppet 主配置文件,那么这些答案也会有所帮助。

【问题讨论】:

    标签: deployment teamcity puppet


    【解决方案1】:

    整个/etc/puppet 不太可能接受CI。

    将您的 $manifestdir$modulepath 实例移到该树之外并让某些 CI 客户端成为其所有者可能更合适。请注意确保puppet 用户的读取权限。

    这样,您可以在没有太多安全漏洞的情况下依赖 SSH(但是,打开清单进行写入总是有风险的),并且无需使主配置可写入非 root 用户。

    【讨论】:

    • 这听起来很有用,你能解释一下确保 puppet 用户的读取权限吗?我知道我可以 chown 给 ci 用户一个目录,然后我会 chmod 666 这个目录让 puppet 可以读取它吗?
    • 那是个坏主意!永远不要让你的清单世界可写。在某些情况下,甚至应该避免世界可读。使用模式2640 将它们设为ci-user:puppet(SGID 位,以便新文件获取组,尽管这对于git 来说可能很棘手-您要检查一些git config 设置)。
    猜你喜欢
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    相关资源
    最近更新 更多