- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我刚开始使用 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/
我的打包代码包含打包厨师 solo 供应商 { "type": "chef-solo", "cookbook_paths": ["chef/cookbooks/vendor"], "run
我理解 chef-client --daemonize 的目的,因为它是 Chef Server 可以连接和交互的服务。 但 chef-solo 是一个简单地使当前系统符合规范然后完成的命令。 那么
我正在尝试断言文本“abcd:移至历史记录”。所以我的代码是这样的: assertTrue("消息未显示",solo.searchText("abcd : 移至历史记录")); 虽然屏幕上显示消息“a
我创建了测试项目。在那里我创建了文件夹“robotium”并粘贴了 2 个 robotium jar 文件(robotium-solo-3.4.1-javadoc.jar 和 robtium-solo
在 Redhat/Fedora 上安装 Chef-solo 的正确方法是什么? 我尝试按照 opscode wiki 上的说明进行操作,但运行后 gem install chef --no-ri --
当我运行引导命令时,它会多次询问密码 Running Chef on 123.123.123.123... Installing Librarian cookbooks... Uploading th
我在我的 robotium 测试用例中使用 solo.searchText 函数。我将文本作为“$ testdata”传递以进行搜索。但即使屏幕上有文字,它也不会检测到文字。在使用 solo.sear
chef-solo 在安装 redis 时卡在最后,就好像 chef 在等待某个事件发生一样。这是我不得不用 ctrl+c 杀死它时的输出。 [2013-05-14T15:55:27+00:00] 错
我有一个测试类,但总是在 tearDown() 中得到一个 NullPointerException,有人知道为什么吗? public class LaunchManagerActivityTest
我不知道为什么我在互联网上找不到任何关于这个的信息。 我基本上想编写一个提示用户输入他们的 github 用户名/密码的 Recipe ,然后发布到 github API 以添加一个 ssh key
我已经为此苦苦挣扎了几个小时,但似乎没有取得任何进展。关于我应该从哪里开始调试的任何提示将不胜感激。 我正在尝试配置一个 Vagrant 机器并收到以下错误。 `==> default: Runnin
当使用 Vagrant 和厨师作为供应者时,我得到以下警告: [web] Chef 11.12.2 Omnibus package is already installed. [web] Runnin
我有一个似乎与此类似的问题:Berkshelf cookbooks are not being copied to the Vagrant directory , 但我相信它是不同的。 当我运行一个
我已经设置了一个基本的 Chef 基础架构,其中包含一个工作站、一个托管的 Chef 服务器和一个用作节点的 Ubuntu 服务器。我在我的工作场所使用此设置,因此需要代理才能连接互联网。我已经在 k
我正在使用 Chef-solo,以避免管理多个实例的麻烦(如果您认为这不是一个好主意,请纠正我) 我定义了一个“数据库”角色;我在目标节点上使用 Chef-solo 进行 cooking 。 现在,我
我正在使用 robotium 来测试我的应用程序。问题出在 solo.searchText 函数上。在我的应用程序中,我使用 expandale listview 来显示类别值。在使用 robotiu
我正在使用 robotium 来测试一个 android 项目。我有一个测试用例,我需要在其中测试一条由特殊字符组成的消息是否正确发布。所以我创建了一个由特殊字符组成的常量: public stati
我已经在 Redhat Linux 7.2 中安装了 ChefDK rpm 包。 chef-solo --version 命令提供了正确的版本(Chef:12.19.36)。 现在我尝试使用以下 ch
在我的 Activity 中,我执行 startActivityForResult(MediaStore.ACTION_IMAGE_CAPTURE), 然后我进入内置相机 Activity (在本例中
我从 Chef 社区下载了食谱“oc-java-master”,现在我尝试使用我安装在 Windows Server 2008 上的 Chef-solo 来运行它。 经过大量的谷歌搜索和 stacko
我是一名优秀的程序员,十分优秀!