在同一本食谱中使用多个食谱

时间:2017-02-21 21:14:07

标签: chef chef-recipe databags

我有一份带有四种食谱的厨师食谱。每个配方都配置一个Web应用程序:

    Route::get('Glaciares',function(){
        return view('Principal.Glaciares.Acerca');
    });

我已经将此菜谱配置为基于default.rb配方更新应用程序,该配方只是迭代其他Web应用程序配方并运行它们。该手册由数据包中更新的网络应用程序版本启动。

因为我将所有应用程序放入一本食谱中,如果我想更新一个应用程序,那么我必须全部更新它们。我可以手动覆盖运行列表以仅部署一个应用程序,但有没有办法 "刀差"默认配方中的数据包(或类似的东西)只运行已更新的Web应用程序版本的相应配方?

2 个答案:

答案 0 :(得分:2)

您必须使用本地副本进行幂等跟踪来实现差异。总的来说,我建议将你的食谱重新设计为幂等的并且自己收敛。

答案 1 :(得分:1)

你应该写自我收敛的食谱而不是这个。

如果在这里使用外部配方(默认配方)背后的主要原因是避免在所有配方(更新应用程序的代码)上反复编写相同的代码,那么您应该尝试编写librarycustom resource可用于您的所有应用程序配方。

在线厨师文档提供了有关这方面的足够信息,如果您具备基本的Ruby知识,这也很容易。