簡體   English   中英

如何通過Vagrant和Puppet安裝RVM

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM