有没有办法使用 Vagrant 和 Hosted Chef 为程序指定版本?

有没有办法使用 Vagrant 和 Hosted Chef 为程序指定版本?

我正在尝试改进我的开发工作流程,但遇到了一些重大障碍。目前,我们在运行 XAMPP 的本地 Windows 机器上进行开发,然后在单台机器上进行测试后,通过 FTP 将更改逐一推送到我们的实时服务器。我知道这非常低效。

我们用Mediatemple 的 Dedicate Virtual为我们的托管服务提供服务器,我最近了解到使用虚拟机和配置服务进行本地开发的优势。这让我了解到流浪汉厨师。启动并运行 vagrant 很容易,但考虑到它们的配置方式(主要是因为 Plesk 界面),以及我需要使用特定版本的程序,我很难尝试重新生成我们的实时服务器。例如,我的服务器正在运行以下 CentOS 5.9:


阿帕奇

  • /usr/sbin/httpd -v
  • Apache/2.2.22(Unix)

PHP

  • php-v 命令
  • PHP 5.3.5

NGINX(用作 apache 处理 PHP 文件的前端)

  • /usr/sbin/nginx -v
  • nginx/1.3.0

这些只是我需要在 Chef Cookbook 中创建的几个项目。但是,我正在使用 Hosted Chef,无法获得有关如何指定需要添加以模拟我的实时服务器的软件版本的说明。

有人成功做到了吗?我并不是 100% 依赖 chef(也可以使用木偶),但主要听说的是 Chef 而不是 Puppet 的推荐。

谢谢你!

答案1

是的,您可以安装您想要安装的特定版本的软件包。软件包资源具有特殊的版本属性。您可以在此处阅读有关包资源的更多信息:http://docs.opscode.com/resource_package.html

代码看起来会像这样:

package "httpd" do
  version "2.2.22"
end

相关内容