更新后重新加载厨师食谱的更好方法

时间:2014-11-07 17:26:07

标签: chef

每当我改变我正在做的食谱(它是一个提供者的叉子)来进入我的流浪者运行时我必须:

  1. 删除Berksfile.lock
  2. 删除.berskhelf文件夹
  3. 运行vagrant provision以获取新文件(但错误)
  4. 运行vagrant reload以使其重新安装共享文件夹(并修复以前的错误)
  5. 运行vagrant provision实际运行我的食谱,看看会发生什么
  6. 必须有更好的方法,有人可以告诉我吗?或者是我制作批处理文件的唯一解决方案吗?

    编辑:我刚刚制作了一个批处理脚本来完成所有这些工作,但我仍然感觉我做错了所以可以回答任何问题吗?

    批处理脚本:

    del -f .\Berksfile.lock
    del -f %HOME%\.berkshelf
    
    vagrant provision
    vagrant reload
    vagrant provision
    

1 个答案:

答案 0 :(得分:0)

假设您使用的是path来源说明符(虽然从您的评论中可能听起来好像您使用的是gitgithub,但这确实是非最佳的)应该做的是重新运行提供步骤。通常,您永远不必删除lockfile(更改source行时的例外情况),并且您永远不应删除.berkshelf文件夹,这相当于将$GEM_HOME删除为强制升级。如果你遇到经常重新加载的问题,请仔细检查你是否有最新的vagrant-berkshelf插件。