Skip to content

Instantly share code, notes, and snippets.

@the-teacher
Last active September 23, 2015 09:50
Show Gist options
  • Save the-teacher/b2330d4c5d60cf7754aa to your computer and use it in GitHub Desktop.
Save the-teacher/b2330d4c5d60cf7754aa to your computer and use it in GitHub Desktop.
vagrant
brew cask install virtualbox
brew cask install vagrant
brew cask install vagrant-manager

vagrant plugin install vagrant-vbguest
vagrant plugin install vagrant-librarian-chef-nochef

cd MY_RAILS_PROJECT

vagrant init
touch Cheffile

Cheffile

site "http://community.opscode.com/api/v1"

cookbook 'apt'
cookbook 'build-essential'
cookbook 'mysql', '5.5.3'
cookbook 'ruby_build'
cookbook 'nodejs'
cookbook 'rbenv', git: 'https://github.com/aminin/chef-rbenv'
cookbook 'vim'

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  # Use Ubuntu 14.04 Trusty Tahr 64-bit as our operating system
  config.vm.box = "ubuntu/trusty64"

  # Configurate the virtual machine to use 2GB of RAM
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "2048"]
  end

  # Forward the Rails server default port to the host
  config.vm.network :forwarded_port, guest: 3000, host: 3000

  # Use Chef Solo to provision our virtual machine
  config.vm.provision :chef_solo do |chef|
    chef.cookbooks_path = ["cookbooks", "site-cookbooks"]

    chef.add_recipe "apt"
    chef.add_recipe "nodejs"
    chef.add_recipe "ruby_build"
    chef.add_recipe "rbenv::user"
    chef.add_recipe "rbenv::vagrant"
    chef.add_recipe "vim"
    chef.add_recipe "mysql::server"
    chef.add_recipe "mysql::client"

    # Install Ruby 2.2.1 and Bundler
    # Set an empty root password for MySQL to make things simple
    chef.json = {
      rbenv: {
        user_installs: [{
          user: 'vagrant',
          rubies: ["2.2.1"],
          global: "2.2.1",
          gems: {
            "2.2.1" => [
              { name: "bundler" }
            ]
          }
        }]
      },
      mysql: {
        server_root_password: ''
      }
    }
  end
end
vagrant up
vagrant ssh
vagrant provision
vagrant reload --provision
vagrant halt
vagrant destroy

inside VM

cd /vagrant # project folder

rails s -b 0.0.0.0

localhost:3000

@the-teacher
Copy link
Author

обновить только зависимости

gem install librarian-chef
librarian-chef update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment