关于管理厨师食谱版本的一般最佳实践,以及与烹饪书目标配置和配置的应用程序版本的一致性有哪些?
如果我正在为特定应用程序版本的配置自动化构建我的cookbook - 我是否需要将应用程序版本的某些相关性带入我的cookbook版本?如果没有,菜谱版本如何与应用程序版本相关联?
升级后的应用程序可能包含需要更改现有cookbook的其他组件或配置更改。如果没有将cookbook版本映射到应用程序版本的机制,那么配置给定的应用程序版本将是一个挑战。
对于如何管理的所有想法都表示赞赏?
答案 0 :(得分:0)
当我们开始我们的厨师之旅时,我们有类似的担忧。我们的应用程序是通过基于Jenkins的管道构建的,其中构建号由Jenkins分配。换句话说,我们不会将SemVer用于我们的应用程序。转向SemVer对我们来说将是一项非常大的努力。由于您指出的原因,提供这些应用程序及其托管环境的厨师烹饪书需要有一个干净的直观映射。我们发现使用SemVer方案管理cookbook并使用他们提供/配置的应用程序使用非SemVer方案让我们的用户感到困惑。在一个理想的世界里,我们会把所有东西都搬到SemVer,但我们现在不能选择。我们决定让我们的烹饪书通过相同的Jenkins管道并与应用程序代码并置,并使用相同的自动化流程标记带有Jenkins内部版本号的metadata.rb文件。陪审团仍然不清楚这将在多长时间内发挥作用,但我们已经做了差不多一年了,尽管有一些粗糙的边缘,但似乎工作正常。
我只是以方式来分享我们的方法。我不确定我是否喜欢这样做以提倡将其作为一般的最佳实践,但我认为这对我们来说是邪恶的较小。如果您决定沿着这条路走下去,请花点时间了解berks(或policyfiles)菜谱版本解析以及Chef Server版本解析的工作方式 - 这将为您节省一些让您感到痛苦的工作。