我希望在提供开发人员环境时使用“厨师零”和“流浪汉”。这些开发人员参与应用程序开发,而不参与维护主厨食谱。
我有一个厨师服务器,它充当所有厨师组件的存储库。是否可以用这个厨师服务器配置厨师零,以便开发人员能够利用角色和环境?
我可以使用chef_api下载烹饪书,但是角色的runlist和环境的属性必须在Vagrant中复制。
这种方法的优点是开发人员可以通过改变Vagrantfile中的环境来复制production或QA环境。
发布于 2014-03-11 19:56:02
正如您已经发现的,伯克托是管理菜谱的一个很好的工具,但是没有类似的工具来管理实体,比如角色、环境和数据库。这是有意义的,因为这些实体相当于特定于厨师特定实例的部分全局数据。
有其他方法可以解决这一问题:
应用食谱模式
而不是使用一个角色,你使用一个食谱从一个特殊的“应用程序”食谱。每个配方都是为了捕获应用程序中特定组件的运行列表而设计的: db、appserver、路由器等。
例如,"myapp::db“配方:
include_recipe "mysql::server"
include_recipe "database"
include_recipe "myapp::_db_schema"和"myapp::appserver“食谱
include_recipe "apache2"
include_recipe "php"
..
include_recipe "myapp::_appserver_setup1"
include_recipe "myapp::_appserver_setup2"与角色相比,这种方法的主要优点是能够修改对运行列表(dev/test/prod)的控制更改,并使用Berk大陆架这样的工具来控制主厨服务器的加载。
从厨师服务器导出角色和环境
如果您有管理员凭据,就很容易从厨师服务器导出数据。请参见:
download.html
https://stackoverflow.com/questions/22319380
复制相似问题