From a29ffed27179a8b29e4caa819b2aec49d4a4580c Mon Sep 17 00:00:00 2001 From: Nicolae Claudius Date: Thu, 19 Sep 2013 14:56:05 +0300 Subject: [PATCH] basic dev vagrant --- Vagrantfile | 10 ++++++++++ script/provision.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 Vagrantfile create mode 100755 script/provision.sh diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 0000000..78c9245 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,10 @@ +# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! +VAGRANTFILE_API_VERSION = "2" + +Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| + config.vm.box = "precise64" + config.vm.box_url = "http://files.vagrantup.com/precise64.box" + config.vm.network :forwarded_port, guest: 3000, host: 3000 + config.vm.provision :shell, path: 'script/provision.sh' +end + diff --git a/script/provision.sh b/script/provision.sh new file mode 100755 index 0000000..0bf5d56 --- /dev/null +++ b/script/provision.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +# uses code from https://github.com/rinrinne/install-shared-rbenv + +sudo apt-get -y update +sudo apt-get -y install python-software-properties debconf-utils +sudo apt-add-repository -y ppa:chris-lea/node.js +sudo debconf-set-selections <<< 'mysql-server-5.5 mysql-server/root_password password linux1' +sudo debconf-set-selections <<< 'mysql-server-5.5 mysql-server/root_password_again password linux1' +sudo apt-get -y install build-essential zlib1g-dev libssl-dev libreadline-dev \ + git-core libxml2 libxml2-dev libxslt1-dev sqlite3 libsqlite3-dev curl \ + libyaml-dev openssl libssl-dev ncurses-dev libtool bison autoconf libc-dev \ + mysql-server libmysqlclient15-dev memcached nodejs + +set -e +CURRENT=`pwd` +RBENV_ROOT=/usr/local/rbenv +RBENV_VERSION=2.0.0-p247 +mkdir -p $RBENV_ROOT +cd $RBENV_ROOT +git clone https://github.com/sstephenson/rbenv.git . +mkdir -p plugins +git clone https://github.com/sstephenson/ruby-build.git plugins/ruby-build +cd $CURRENT +export RBENV_ROOT +export RBENV_VERSION +$RBENV_ROOT/bin/rbenv install $RBENV_VERSION +$RBENV_ROOT/bin/rbenv global $RBENV_VERSION +$RBENV_ROOT/bin/rbenv exec gem install bundler +$RBENV_ROOT/bin/rbenv rehash + +DOT_PROFILE=/etc/profile.d/Z99-rbenv.sh +cat > $DOT_PROFILE << EOF +RBENV_ROOT=$RBENV_ROOT +if [ -d \$RBENV_ROOT ]; then + export RBENV_ROOT + PATH="\$RBENV_ROOT/bin:\$PATH" + eval "\$(rbenv init -)" +fi +EOF +sudo chmod a+x $DOT_PROFILE + +cd /vagrant +$RBENV_ROOT/bin/rbenv exec bundle install --path vendor +$RBENV_ROOT/bin/rbenv exec bundle exec rake db:setup