问题标签 [chef-recipe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-ec2 - 刀/厨师 - 如何捕获命令行参数并传递给厨师食谱
有没有办法捕获命令行参数并传递给厨师食谱?我要做的是自动将主机名填充到各个地方。一个在/etc/sysconfig/network
DOMAIN 字段中。
因此,如果启动服务器的命令是
我想捕获“myserverName”并将其传递给在引导时可能需要它来构建 FQDN 的各种配方。
这不是通过 JSON 选项,而是直接来自命令行。
chef-infra - 玩 Vagrant 和 python 配方,我不知道如何使用 python_virtualenv
我的 Vagrantfile 看起来像这样(缺少某些部分):
根据Opscode python recipe Readme,可以使用命令安装 python 包和使用python_pip
命令安装 python virtualenvs python_virtualenv
。我怎样才能将它们集成到我的Vagrantfile
?
linux - 使用 Chef 配方将多行附加到配置文件
我正在尝试创建一个厨师食谱以将多行(20-30)附加到特定的配置文件中。
我知道推荐的模式是更改整个配置文件,而不仅仅是附加到文件,但出于多种原因我不喜欢这种方法。
到目前为止,我发现的唯一解决方案是使用 acookbook_file
然后使用 bash 资源来执行以下操作:
cat lines_to_append >> /path/configfile
显然这不能正常工作,因为它会一遍又一遍地附加文件,每次你运行 chef-client。我必须先创建一个小型 bash 脚本来检查特定字符串,如果未找到,则附加到文件中。
但这似乎违背了使用 Chef 的目的。一定会有更好的办法。
一个有希望的解决方案是来自 OpsCode 社区的line cookbook 。它旨在解决这个确切的问题。不幸的是,功能不完整,有缺陷,而且代码只是一个快速破解。远非一个可靠的解决方案。
我评估的另一个选项是augeas。看起来非常强大,但它会为系统添加另一层抽象。就我而言,矫枉过正。
鉴于这是任何系统管理员最明显的任务之一,是否有任何我没有看到的简单而漂亮的 Chef 解决方案?
编辑:这是我目前解决的方法:
它有效,但不确定这是推荐的 Chef 模式。
chef-infra - 我应该使用 include_recipe 还是将配方添加到 run_list?
试图找出大型项目的最佳方法。什么时候适合在配方中添加配方,include_recipe
而不是将配方添加到run_list
? 有没有好的经验法则?
chef-infra - 覆盖厨师 bash 返回码
我正在运行一个厨师食谱来安装 Websphere 修复包。修复包重新调整并退出代码 [2],用于部分安装。这是预期的行为,但厨师只是将其视为错误。有什么办法可以覆盖它。
我希望厨师继续下一个任务,即使返回退出代码是 [2]
chef-infra - 无法在厨师中使用 not_if
我在使用 bash 属性时尝试实现 not_if
我正在尝试启动 WAS 部署管理器,但只有当它没有运行时,我才使用简单的 grep 命令来获取正在运行的进程的 pid,如下面的日志所示
以下是来自厨师客户端的调试日志
当 DMGR 进程 *运行时*
当 DMGR 进程 * 未运行*
不管是什么情况,它总是跳过,我错过了什么
ruby-on-rails - 厨师:数据库迁移未在应用程序配方中运行
我正在使用 application 和 application_ruby 食谱。我正在使用 migrate 'true' 来定义我的应用程序:
但是,我没有看到任何迁移正在运行。我认为这是因为 application_ruby 在运行后将其删除。但是,就我而言,数据库用户凭据存在问题,迁移不成功。除了手动运行迁移之外,还有什么方法可以让它运行吗?
ruby-on-rails - 厨师 application_ruby 食谱:独角兽未重新启动
我使用 application 和 application_ruby 食谱定义了以下应用程序:
即使我有 preload_app true,独角兽也不会重新启动。从 chef 日志中可以看到,unicorn 的 before_compile cook 和 before_deploy 钩子被执行了,但是它没有进入 before_restart。关于我的配置错误的任何指示?
chef-infra - Vagrant 和 Chef 的困惑。它没有做我认为应该做的事情
我有 Opscode php 食谱,它工作正常......几乎。我对 php.ini.erb 文件进行了修改,但没有按照脚本中的说明复制该文件。我使用的是 ubutnu 基础框,因此我修改php/templates/ubuntu/php.ini.erb
并重新创建了 Vagrant 框。我对模板文件所做的更改并没有出现在系统使用的 php.ini 文件中;它只是使用一个完全默认的 php.ini。
另外,我想安装xdebug。所以我制作了自己的食谱,php/recipes/module_xdebug.rb
其中包含以下内容:
...然后将以下内容添加到php/metadata.rb
文件底部:
...并且该文件php/templates/*/xdebug.ini.erb
包含:
我将此文件放在所有模板目录中。然而,当我提供时,文件并没有被复制。
另外,我正在尝试下载并提取 Zend Framework。为此,我通过在php/recipes/source.rb
文件的底部添加一些代码来作弊:
哪个也行不通,尽管我有点预料到不行,因为它是一个完整的 hack 并且可能充满了错误。
所以我不得不重新评估我的快速学习能力,因为我尝试做的与原版安装不同的唯一事情就是这三件事,而且没有一件是有效的。噘
任何人都可以对我的(可能很多)失败有所了解吗?
ruby - 在 Chef 食谱中部署 java 应用程序
我已经在使用应用程序说明书来部署和安装我的 java 应用程序。我自己试过了。
对于上面的代码,我得到以下错误。
我不明白如何解决这个问题?