gpt4 book ai didi

chef-infra - 与 Chef 一起供应 Vagrant

转载 作者:行者123 更新时间:2023-12-03 01:18:03 25 4
gpt4 key购买 nike

我正在深入研究如何将我的开发环境迁移到 Vagrant,但在与 Chef 一起处理 VM 配置过程时遇到了一些困难。我以前从未使用过 Chef,并且该领域的 Vagrant 文档故意较弱(超出范围),因此我可以帮忙。

我想让它尽可能便携,所以我认为从 URL 加载 Recipe 是有意义的,所以这就是我在 Vagrantfile 中尝试的:

config.vm.provision :chef_solo do |chef|
chef.recipe_url = 'https://github.com/opscode/cookbooks/tarball/master'
chef.add_recipe 'nginx'
chef.add_recipe 'mysql'
chef.add_role 'web'

# You may also specify custom JSON attributes:
# chef.json = { :mysql_password => '' }
end

我不认为我只是误解了某些东西,但我还没有找到看起来适合这个 Vagrant 上下文的文档源。

谢谢。

最佳答案

您上面展示的方式肯定会正常工作。

但是,如果您打算单独使用 Chef,我建议将说明书直接嵌入到版本控制的存储库中。这使得在您提交的每个时间点,Vagrantfile 都与说明书的正确版本保持一致。因此,两年后,当您查看今天的代码时,这些 Recipe 在技术上应该仍然有效。

如果您想采用此方法,请创建一个目录,例如包含 Recipe 的 cookbooks。然后像这样配置 Vagrant:

config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = "cookbooks"
chef.add_recipe 'nginx'
chef.add_recipe 'mysql'
chef.add_role 'web'

# You may also specify custom JSON attributes:
# chef.json = { :mysql_password => '' }
end

关于chef-infra - 与 Chef 一起供应 Vagrant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8941034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com