[英]How to Install RVM via Vagrant and Puppet
我正在为Ruby on Rails开发(使用VirtualBox)预配一个新的Vagrant框,并希望在Vagrant预配过程中添加RVM + ruby 2.3.0。
我的Vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network "forwarded_port", guest: 3000, host: 3000
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "puppet/manifests"
puppet.module_path = "puppet/modules"
puppet.manifest_file = "development.pp"
end
end
和puppet / manifests / development.pp:
class requirements {
group { "puppet": ensure => "present", }
exec { "apt-update":
command => "/usr/bin/apt-get -y update"
}
package {
["mysql-client", "mysql-server", "libmysqlclient-dev"]:
ensure => installed, require => Exec['apt-update']
}
}
include requirements
目前,这仅安装mysql。 我想添加RVM +安装默认的ruby(例如2.3.0)。
有此指南: http : //blog.csanchez.org/2014/01/14/installing-rvm-and-multiple-ruby-versions-with-puppet/
哪个使用此人偶模块: https : //forge.puppetlabs.com/maestrodev/rvm
我没有安装木偶,因为当我尝试运行时:
puppet module install maestrodev-rvm
我得到“ -bash:puppet:命令未找到”。
查看Puppet文档,安装/设置Puppet客户端/服务器似乎相当复杂。 仅使用RVM人偶模块似乎有点过头了。 同样,团队中的设计师将使用此过程,因此它需要尽可能简单。
任何帮助将不胜感激。
我没有安装木偶
是的,您可以-虚拟机上已安装了puppet,否则您将无法置备mysql等。
您可能从主机运行命令puppet module install maestrodev-rvm
命令,而这需要在VM上运行。
人们在虚拟机上设置模块的方式有多种(图书馆员,有些下载全部在module /文件夹中...)我要做的是创建将安装所有必需模块的shell配置。 在您的vagrantfile中添加
config.vm.provision "shell", path: "puppet/script/install-puppet-modules.sh"
确保此行在您的人偶设置之前-install-puppet-modules.sh将类似于
#!/bin/bash
mkdir -p /etc/puppet/modules;
if [ ! -d /etc/puppet/modules/maestrodev/rvm ]; then
puppet module install maestrodev-rvm --version xxx
fi
我想指出一个版本,因此如果伪造模块中有一个新版本,它可能会崩溃,至少我知道xxx版本已经过测试。
因此,现在您可以添加class { 'rvm': }
等,以在您的puppet/manifests/development.pp
文件中安装rvm和ruby
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.