【问题标题】:Debugging chef recipes without vagrant destroy and re-provision在没有 vagrant destroy 和 re-provision 的情况下调试厨师食谱
【发布时间】:2013-10-29 02:13:11
【问题描述】:

我们正在研究从源代码构建 PHP 的厨师食谱。但是,每次我们对配方进行更改并且想要再次运行它时,都需要很长时间(大约 20 分钟)。

我们一直在做的是进行更改,然后使用:

vagrant destroy

接着是:

vagrant up

如果我们能以某种方式重新运行我们正在尝试更新的单个配方,那就太好了。

有人知道我们怎么做吗?或者 vagrant 如何确定我们的 php 配方已经安装/执行?

【问题讨论】:

  • 抱歉,这对我来说毫无意义。
  • @GordonM 请说明我该如何澄清。

标签: chef-infra vagrant


【解决方案1】:

vagrant provision 应该为您执行此操作。 Chef 应该只负责运行需要运行的东西……比如更改后的食谱。

【讨论】:

  • vagrant provision 似乎没有发现配方中的变化。任何关于为什么的想法都会受到欢迎。
  • 我只需要在每个配方中找到它正在检查的部分,以确定是否应该安装该配方。在这种情况下,它是一个简单的which php
【解决方案2】:

你可以使用:

vagrant provision

这将重新运行配置步骤,执行 vagrant ssh 并启动 Chef。

如果您使用的是 Chef Server 和 chef-client,您需要在进行本地修改后使用刀将食谱上传到服务器。然后 vagrant 机器上的 chef-client 将下载更改的文件。

如果您使用的是 Chef Solo,您可以与 VM 共享文件夹,因此所做的更改会立即生效,而不必将它们复制到 VM。

【讨论】:

  • 但这不会让虚拟机恢复到原来的状态吧?
猜你喜欢
  • 2017-04-27
  • 1970-01-01
  • 2015-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多