在 Chef-solo 启动之前运行脚本?

在 Chef-solo 启动之前运行脚本?

我正在使用 Vagrant 和 Chef-solo 创建开发环境 VM。问题是,Debian Chef 软件包需要特定版本的 RubyGems 才能运行,但我希望 VM 具有更新的从源安装的 RubyGems 版本。

有没有办法在 Vagrant 中运行一些脚本/命令Chef-solo 被调用并执行其操作?这样,我可以在 Chef-solo 运行之前和之后在 ruby​​gems 版本之间切换符号链接。

答案1

什么是“debian chef 包”?是 Opscode 的 apt 存储库中的包吗?还是你使用的 basebox 中内置了某些东西?

您可能可以使用 vagrant 中的 shell 脚本配置程序来执行此操作。但是,我会构建自己的基础框。“Veewee”是一款出色的工具,可以非常快速地完成此操作(相对而言,大约需要 15-20 分钟)。

答案2

最简单的方法是使用镜像中安装的默认 Ruby 来运行 chef,并使用 chef 安装 Ruby 和 RubyGems,可能由 rbenv 或虚拟机

相关内容