[英]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.