gpt4 book ai didi

ruby-on-rails - 我应该有多个 chef-solo json 配置文件吗?

转载 作者:行者123 更新时间:2023-12-04 03:50:26 28 4
gpt4 key购买 nike

我刚开始使用 chef-solo。我已经开始使用 chef-solo 从头开始​​构建我的 Ruby on Rails Web 服务器。除了我的引导文件(deploy.rb 和 install.rb),我还有两个配置文件(solo.json 和 solo.rb)。我已经设置了我的 solo.json 来运行一组角色和配方,这些角色和配方将设置一个网络服务器。

现在我想使用 chef-solo 构建一个带有我自己定制的 mythtv 机顶盒。我应该使用“web_server.json”和“mythtv.json”来列出我创建这些服务器的不同配方/角色,而不是使用 solo.json 吗?

逻辑上应该可行,但有更好的方法吗?/这是正确的方法吗?

这是我到目前为止的完整设置(就目前而言,它为 Ruby on Rails 构建了一个网络服务器);

https://github.com/map7/chef-solo

一种方法是复制我的整个 chef-solo 目录并自定义它以创建我的 Mythtv 盒子,但是我必须维护两套 chef-solo Bootstrap 和配置文件,并且一些 Recipe 将在两者中使用情况。例如我想要在 Mythtv 和我的网络服务器上使用的 apache2。

最佳答案

我浏览了文档和一些 Chef 独奏教程,这就是我想出的。像几乎所有的程序一样,有不止一种方法可以做到这一点 (TIMTOWTDI)。我正在考虑做我自己的教程...

创建一个 base.json 作为您的主要配置选项:用户帐户,也许只能访问 ssh 的 iptables,您的用户的 sudo,等等。两台(所有)机器上的东西都是一样的。然后为你的神话机创建一个角色,放到roles文件夹中。当您创建新角色时,只需编辑 base.json 并将角色添加到运行列表。

此外,我没有看到 site-cookbooks 文件夹。当我开始做 chef-solo 时,我也不清楚这一点。你需要这个。如果你改变了一本 Recipe (你最终会这样做),你将改变后的文件放在 site-cookbooks 文件夹中,与原始 Recipe 的目录结构相同。假设你想编辑一个 apache2 模板,你可以把它放在 site-cookbooks-->apache2-->templates-->default-->apache2.conf.erb 中(例如)。在运行时, Chef 将查看您的模板而不是原始模板。这使得跟踪您的添加/更改变得容易,并且还可以轻松升级原始 Recipe 。因此,您将永远只有一本 Recipe 压缩包。如果您不从 json 调用配方/角色,那么它不会被执行。在我的 chef-solo 存储库中,为了创建我的 tarball,我运行:

tar zcvf chef-solo.tar.gz ./cookbooks ./roles ./site-cookbooks ./data-bags

最后请注意,后来的 chef-solo 版本因使用数据包的能力而受到一些喜爱,并且已经创建了一个 Recipe 以允许搜索。两者都是客户端-服务器设置的重要组成部分,我认为它们永远不会被添加到 chef-solo 中。 Chef 独奏 FTW!

我的 Bootstrap 。 https://github.com/tripleonard/chef-solo-bootstrap

干杯!

关于ruby-on-rails - 我应该有多个 chef-solo json 配置文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7655175/

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