Deployment 如何从构建服务器部署Puppet主配置文件?
我有一个(RedHat)Puppet Master服务器,Puppet Master的配置文件位于Deployment 如何从构建服务器部署Puppet主配置文件?,deployment,teamcity,puppet,Deployment,Teamcity,Puppet,我有一个(RedHat)Puppet Master服务器,Puppet Master的配置文件位于/etc/Puppet中 我已将/etc/puppet的全部内容置于源代码管理中,并希望我的CI服务器(Windows上的TeamCity)能够将更改部署到puppet主服务器 我怎样才能做到这一点 我有一个想法,我可以使用scp,但是复制到/etc/puppet需要sudo特权。同时,我想一个简单的设置 如果有任何替代或更好的方法来部署puppet主配置文件,这些答案也会很有帮助 整个/etc/p
/etc/Puppet
中
我已将/etc/puppet
的全部内容置于源代码管理中,并希望我的CI服务器(Windows上的TeamCity)能够将更改部署到puppet主服务器
我怎样才能做到这一点
我有一个想法,我可以使用scp,但是复制到/etc/puppet
需要sudo特权。同时,我想一个简单的设置
如果有任何替代或更好的方法来部署puppet主配置文件,这些答案也会很有帮助 整个
/etc/puppet
不太可能受到CI的影响
将$manifestdir
和$modulepath
实例移到该树之外,并使某些CI客户端成为它们的所有者,可能更合适。只需小心确保puppet
用户具有读取权限
通过这种方式,您可以在不存在太多安全漏洞的情况下依赖SSH(但是,打开清单进行编写总是有风险的),并且避免了使主配置可写给非root用户的需要。这听起来很有用,您能解释一下如何确保puppet用户的读取权限吗?我知道我可以
chown
给ci用户一个目录,然后我可以chmod 666
该目录让puppet可以读取它吗?那是个坏主意!永远不要让你的世界可写。在某些情况下,甚至应该避免世界可读。使用mode2640
(SGID位使新文件获得组,尽管这在git中可能很棘手-您需要检查一些git配置设置)。