summaryrefslogtreecommitdiffstats
path: root/vagrant
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahoo-inc.com>2017-08-18 09:24:34 +0200
committerGeir Storli <geirst@yahoo-inc.com>2017-08-18 09:24:34 +0200
commit357ac05d6b566ce21123300127d2f38dab29a043 (patch)
tree4d4cab61ed3f084cb846afa27c62a4f381acc0e9 /vagrant
parenta618787ba847eed7c30f6bd81256db8d39e5e2c4 (diff)
Add C++ dev environment on CentOS using VirtualBox and Vagrant.
Diffstat (limited to 'vagrant')
-rw-r--r--vagrant/README.md24
-rw-r--r--vagrant/Vagrantfile38
2 files changed, 62 insertions, 0 deletions
diff --git a/vagrant/README.md b/vagrant/README.md
new file mode 100644
index 00000000000..4c65fe666ab
--- /dev/null
+++ b/vagrant/README.md
@@ -0,0 +1,24 @@
+
+# Create C++ dev environment on CentOS using VirtualBox and Vagrant
+
+## Prerequisites
+* [Install VirtualBox](https://www.virtualbox.org/wiki/Downloads)
+* [Install Vagrant](https://www.vagrantup.com/downloads.html)
+
+## Create dev environment
+
+### Change working directory to <vespa-source>/vagrant
+ cd <vespa-source>/vagrant
+
+### Start and provision the environment
+ vagrant up
+
+### Connect to machine via SSH
+SSH agent forwarding is enabled to ensure easy interaction with GitHub inside the machine.
+
+ vagrant ssh
+
+### Checkout vespa source inside machine
+This is needed in order to compile and run tests fast on the local file system inside the machine.
+
+ git clone git@github.com:vespa-engine/vespa.git
diff --git a/vagrant/Vagrantfile b/vagrant/Vagrantfile
new file mode 100644
index 00000000000..a4cea6aa10f
--- /dev/null
+++ b/vagrant/Vagrantfile
@@ -0,0 +1,38 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+# For a complete reference, please see the online documentation at https://docs.vagrantup.com.
+Vagrant.configure("2") do |config|
+
+ config.vm.box = "boxcutter/centos73-desktop"
+
+ config.ssh.forward_agent = true
+
+ config.vm.synced_folder "../dist", "/vagrant/dist"
+
+ config.vm.provider "virtualbox" do |vb|
+ # Display the VirtualBox GUI when booting the machine
+ vb.gui = true
+
+ vb.memory = "8192"
+ vb.cpus = 8
+ end
+
+ # Install required and nice-to-have packages
+ config.vm.provision "shell", inline: <<-SHELL
+ yum-config-manager --add-repo https://copr.fedorainfracloud.org/coprs/g/vespa/vespa/repo/epel-7/group_vespa-vespa-epel-7.repo
+ yum -y install epel-release
+ yum -y install centos-release-scl
+ yum -y install yum-utils
+ yum -y install git \
+ ccache \
+ rpm-build \
+ valgrind \
+ sudo \
+ firefox \
+ vim
+ yum-builddep -y /vagrant/dist/vespa.spec
+ echo -e "* soft nproc 409600\n* hard nproc 409600" > /etc/security/limits.d/99-nproc.conf
+ echo -e "* soft nofile 262144\n* hard nofile 262144" > /etc/security/limits.d/99-nofile.conf
+ SHELL
+end