有没有人尝试过将Opsworks厨师的v11食谱转换为v12厨师?
我在厨师11上运行了多个堆栈,并决定开始将其中一些转换为厨师12。自从亚马逊网络服务删除了他们的opsworks应用层,例如rails层食谱,我们(opsworks用户)现在负责创建deploy用户,git结帐repos到deploy_to等。
这一切都很灵活,没有更多的名称空间冲突,但我们错过了opsworks免费提供给我们的所有好东西。
不知道是不是有人把Chef 12的食谱改成了开源?否则,社区对这些食谱感兴趣吗?我很确定我并不孤单。
提前谢谢你!
发布于 2017-05-19 18:17:16
我认为最常见的方式是使用超市中的“应用程序”食谱:https://supermarket.chef.io/cookbooks/application/versions/4.1.6 (它也基于Poise)。注意:使用的是版本4的,他们删除了v5中几乎所有的好特性。
它将创建目录结构,支持不同的部署策略,并提供一些可以挂钩的事件。请注意:在我看来,Opsworks文档在“使用opsworks和chef12进行部署”这一主题上还算不错:来自gui的信息(如repo-url等)并不在node对象上,而是在应用程序的数据库标签中。对于调试,查看/var/chef/runs/<run-id>/目录以查看其中的可用内容非常有帮助。展示这个想法的一小段代码:
app = search("aws_opsworks_app").first
application "#{app['shortname']}" do
owner 'root'
group 'root'
repository app['app_source']['url']
revision 'master'
path "/srv/#{app['shortname']}"
end这将在/srv上创建releases/current目录结构并签出代码。注意:您可能认为您在GUI中指定的ssh-key会以某种方式自动放在适当的位置。不是的,你得自己处理。查看chef11 opsworks食谱:https://github.com/aws/opsworks-cookbooks/blob/release-chef-11.10/scm_helper/libraries/git.rb
https://stackoverflow.com/questions/36319906
复制相似问题