Windows 我的knife.rb文件的建议位置是什么?

Windows 我的knife.rb文件的建议位置是什么?,windows,chef-infra,Windows,Chef Infra,我已经开始尝试在Windows上使用Chef(尽管我认为操作系统在这里并不一定相关),但我遇到了一个难题 我遵循了一个“入门”教程,该教程建议我从GitHub克隆一个厨师库。但是,该存储库的自述文件声明不建议这样做,而是建议运行chef generate repo,我就是这么做的。在我的主目录中,我运行了chef generate repo chef_repo,得到了(看起来)几乎相同的文件和目录。太好了 我得到的其中一个目录是.chef目录,据我所知,我将在其中放置各种文件。我遵循的教程建议我

我已经开始尝试在Windows上使用Chef(尽管我认为操作系统在这里并不一定相关),但我遇到了一个难题

我遵循了一个“入门”教程,该教程建议我从GitHub克隆一个厨师库。但是,该存储库的自述文件声明不建议这样做,而是建议运行
chef generate repo
,我就是这么做的。在我的主目录中,我运行了
chef generate repo chef_repo
,得到了(看起来)几乎相同的文件和目录。太好了

我得到的其中一个目录是.chef目录,据我所知,我将在其中放置各种文件。我遵循的教程建议我将.chef目录放在.gitignore文件中。好的,没关系

在学习本教程的过程中,我看到了knife.rb文件的文档,其中指出,默认情况下,knife希望knife.rb文件位于~/.chef中。这对我来说似乎很奇怪,因为很明显.chef目录应该在chef存储库中(GitHub示例存储库和chef生成的存储库都是这样),除非chef希望我的整个主目录都是Git存储库和chef的Git存储库

knife.rb文件应该放在哪里?拥有多个.chef目录是“标准做法”吗?从不提供默认的knife.rb文件是“标准做法”吗?

您可以使用它在配置之间切换以使用多个Chef服务器。这通过将多个刀配置(如~/.chef/know-chef11.rb和~/.chef/know-chef12.rb)符号链接到主刀.rb位置来实现

示例:
刀块使用chef11


要安装,请运行:
chef gem install knife block

“~/.chef”或“$HOME/.chef”或“%HOME%/.chef”是chef配置文件的默认位置(取决于操作系统)。或者,在运行刀子命令时,它们可以位于用户本地的“.chef”目录中。所有的都在文件中解释了:是的,我提到过。这不是答案,这是问题的一部分。配置文件的去向取决于您。就个人而言,我喜欢将配置集中在一个地方,并使用刀块插件在chef服务器之间切换。其他人更喜欢在与每个chef服务器关联的每个chef存储库中创建一个.chef目录。完全取决于你。如果您选择后一种方法,建议将.chef添加到忽略文件中,以便它不会提交到您的存储库中,为什么?在回购协议中使用私钥是个坏主意。对你在问题中已经说明了这一切。我希望这个观点能对您有所帮助。您拥有所有的信息。与多个厨师服务人员一起工作是常见的吗?对我来说是:-)您需要的厨师服务人员的数量最终取决于您的组织流程。一般来说,你可能至少有两个:生产和非生产。限制对生产系统的访问并不少见。最后,您可能希望有一个或多个额外的开发chef服务器(尽管像chef zero这样的工具允许开发人员在本地运行chef服务器)。