如何在给定环境中删除食谱版本约束?

How to remove a cookbook version constraint in a given environment?

我们在两种不同的环境中使用 Chef Server ver 11 - dev 和 staging。暂存环境中的说明书版本仅限于特定版本,因此环境下的所有节点都不会受到我的更改的影响。

mycookbook = 0.6.2

现在,我在开发环境(未启用版本限制)中验证了给定节点的说明书更改。

如何删除上面定义的暂存环境中的版本限制?。我只看到通过管理控制台更新约束的选项。

使用 knife environment from file 上传修改后的环境文件(您应该在 VCS 中跟踪而不是在 Chef 服务器中修改它)。

通常,您不会删除约束,您会 increment/change 在开发环境中测试后固定在暂存环境中的版本。

管理环境的常用方法是将环境文件保存在源代码控制存储库中,然后使用 knife 将它们上传到服务器。

您可以使用以下方式下载它们:

knife download environments

并对要更改的环境文件进行编辑,提交到源代码管理,然后使用以下方法将它们上传到服务器:

knife upload environments/staging.json

我同意 duckworth 的观点,即使用源代码管理更好,但如果您想就地编辑,您可以使用 knife environment edit <env name> 然后简单地删除该特定说明书的约束。