我们有时会在登台环境中对烹饪书进行全面测试,因为结果并不总能反映生产环境中可能发生的情况。作为一种解决方案,我尝试做的是冻结环境版本,如下所示:
{
"name": "production",
"description": "Production Environment",
"cookbook_versions": {
"deployment": "= 0.1.12"
},
...
并通过在其运行列表中明确指定新版本来排除该限制的特定服务器,如下所示:
...
"run_list": [
"recipe[base]",
"recipe[security]",
"recipe[deployment::auto_war@0.1.13]"
]
...
问题是,当环境版本与run_list中指定的版本不同时,chef-client卡在resolving cookbooks for run list: ...
上
为什么?有办法解决这个问题吗?有没有更好的方法只在一台服务器上测试配方的更新?
答案 0 :(得分:2)
您无法覆盖现有约束,因此您必须暂时将该节点移至新环境以进行测试。