为RHEL 6 / CentOS打包自定义主厨服务器(通过Chef solo)

我目前正在根据http://wiki.opscode.com/display/chef/Installing+Chef+Server+using+Chef+Solo为CentOS 6.2安装Chef服务器。 我想将所有东西都打包成自己的定制RPM,但是我想知道包装它的最好方法是什么。 (我知道有rpms已经可用,但我想用我自己的版本)。

我正在考虑将所有包括二进制文件和configuration文件在内的所有内容存储到RPM中,并将其存储在我的YUM仓库中,并将其作为我的kickstart服务器中的默认软件包。

我想知道是否有一个更好的方式通过混帐自动化,或者我应该坚持文件/ rpm?

首先,关于构build你自己的“完整的”厨师服务器。

Opscode即将发布Open Source Chef Server所需的全部堆栈包。 ChefConf上周已经certificate了这一点,并且正在积极开发近期发布。

这个演示是由Chris Brown和Adam Jacob主持的。 演示从这里开始 ,但整个事情很有趣,看看2012年的厨师即将到来的function。

Chef的新的综合构build系统由一对库组成。 首先是构build系统本身 。 然后, build立开放源代码软件的知识库通常使用。 最后, 存储库包含Chef本身的构build指令 ,包括客户端和服务器。 欢迎您检查一下,并给它一个。 如果您需要进一步的帮助,irc.freenode.net上的Chef开发者邮件列表或#chef-hacking频道是最好的资源。

接下来,关于pipe理configuration。

由于您使用的是厨师,您应该与厨师本身一起pipe理configuration。 演示(以及来自上面的综合项目的构build包)使用Chef Solo来configuration服务器,尽pipe它也可以是自己的主厨客户端。 如何处理这个问题取决于你,但是将你的Chefconfiguration存储在一个源代码库中,无论是git还是其他系统。

Git不是用来设置和部署应用程序的,你最好用kickstart来使用RPM。

RPM构build过程不应该太困难,除非您自定义现有的SRPM,否则只需要一段时间就可以将文件复制到正确的位置。