我们正在使用厨师来部署我们所有的堆栈。
我需要为我们部署的每个环境构建一个Runbook。 我一直在解析环境,节点和配方文件,但是我需要提取的信息越多,它就越复杂,因为我在应用程序中聚合了属性。
我想使用我们的主厨部署生成的converged-attributes.json文件,而不需要部署任何代码,因为我们无法将生产部署到构建Runbook。
我们还计划在环境存在之前构建Runbook,以便为DevOps团队提供配置信息(例如内存要求,端口等)。
有没有办法使用任何厨师/刀具组件或库来执行以下操作?
答案 0 :(得分:0)
在一般情况下,这是不可能的。 Chef是可执行代码的核心,完全计算副作用的唯一方法是实际执行它。这就是chef-client
的作用,你可以“收敛”#34;外部的节点,所以第3步确实没有任何意义。你可以尝试使用Why Run模式,但我们真的不推荐它,并且可能会删除该功能,因为它在大多数情况下弊大于利。角色和环境是静态数据,因此您可以解析和操作这些数据,但是烹饪书是代码,必须就地运行以确切知道它们将要做什么。