diff options
author | Geir Storli <geirst@yahoo-inc.com> | 2017-08-18 09:24:34 +0200 |
---|---|---|
committer | Geir Storli <geirst@yahoo-inc.com> | 2017-08-18 09:24:34 +0200 |
commit | 357ac05d6b566ce21123300127d2f38dab29a043 (patch) | |
tree | 4d4cab61ed3f084cb846afa27c62a4f381acc0e9 /vagrant | |
parent | a618787ba847eed7c30f6bd81256db8d39e5e2c4 (diff) |
Add C++ dev environment on CentOS using VirtualBox and Vagrant.
Diffstat (limited to 'vagrant')
-rw-r--r-- | vagrant/README.md | 24 | ||||
-rw-r--r-- | vagrant/Vagrantfile | 38 |
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 |