我有一本食谱“blah-deploy-nodejs-from-git”食谱,它从GIT安装nodejs代码库,并在目录上调用NPM安装。它具有以下属性厨师包装食谱一次只应用内部食谱
git_repo
branch
destination
然后我写了换行cookook为inidividual网站,即可安装需要的食谱。在这种particar情况下,“嗒嗒定价”和“嗒嗒的通知”,它有不同的压倒一切的属性:
[email protected] cat cookbooks/blah-svc-pricing/attributes/default.rb
node.override[:blah_deploy_nodejs_from_git][:destination] = "/var/blah/pricing"
node.override[:blah_deploy_nodejs_from_git][:branch] = "master"
node.override[:blah_deploy_nodejs_from_git][:git_repo] = "https://hqdevgit01.blah.lan/micro-services/blah-pricing.git"
[email protected]:~/chef-repo$ cat cookbooks/blah-svc-notifications/attributes/default.rb
node.override[:blah_deploy_nodejs_from_git][:destination] = "/var/blah/notifications"
node.override[:blah_deploy_nodejs_from_git][:branch] = "master"
node.override[:blah_deploy_nodejs_from_git][:git_repo] = "https://hqdevgit01.blah.lan/micro-services/blah-notifications.git"
然后配方是在两种情况下是相同的:
include_recipe 'blah-deploy-nodejs-from-git'
不幸的是,正在申请即使我的节点同时应用了烹饪书,内部食谱也只有一次。我的理解是,包装食谱用于定制食谱并使其独特。
可以将内部烹饪书封装成两种不同的烹饪书,具有不同的属性,并且包装烹饪书都应用这种内部烹饪方法吗?或者我将不得不完全复制内部食谱中的代码?
你能提供你用来调用这个的代码吗?它是否在角色的运行列表中?你是否手动打电话给他们? –
包装食谱都与角色关联,并且这两个角色都与单个节点相关联。 – akaphenom
您是否验证过这两个角色正在执行?你可以尝试的是将这两个配方放在一个角色的运行列表中,看看它是否能够满足你的需求。我没有在单个节点上完成多个角色,所以我不知道这是否是共享食谱的问题。 –