Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment 如何从构建服务器部署Puppet主配置文件?_Deployment_Teamcity_Puppet - Fatal编程技术网

Deployment 如何从构建服务器部署Puppet主配置文件?

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

我有一个(RedHat)Puppet Master服务器,Puppet Master的配置文件位于
/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可以读取它吗?那是个坏主意!永远不要让你的世界可写。在某些情况下,甚至应该避免世界可读。使用mode
2640
(SGID位使新文件获得组,尽管这在git中可能很棘手-您需要检查一些git配置设置)。