- Vagrant.configure(2) do |config|
-
- # Creates a salt master that we can use to test out different test and build
- # scenarios locally before we set up the "CD" system.
- config.vm.define 'master' do |vagrant|
- vagrant.vm.hostname = 'master'
- vagrant.vm.network :private_network, ip: '172.16.100.5'
-
- # Do not use a shared folder. We will fetch sources in other ways.
- # This allows us (eventually) to export the VM and move it around.
- vagrant.vm.synced_folder ".", "/vagrant", disabled: true
-
- # The salt master actually needs some RAM in order to transfer large files.
- vagrant.vm.box = 'ubuntu-14-04-x64-vmware'
- vagrant.vm.box_url = 'boxes/ubuntu-14-04-x64-vmware.box'
-
- vagrant.vm.provider 'vmware_fusion' do |v|
- v.gui = true
- v.vmx['memsize'] = '2048'
- v.vmx['numvcpus'] = '2'
- end
-
- vagrant.vm.provision :shell, path: "shell/install_jenkins.sh"
- vagrant.vm.provision :shell, path: "shell/install_rvm_jenkins.sh"
- vagrant.vm.provision :shell, path: "shell/install_build_dependencies.sh"
- vagrant.vm.provision :shell, path: "shell/install_nginx.sh"
- vagrant.vm.provision :shell, path: "shell/install_perforce-server.sh"
- end
-
- # The build environment expects to be managed by the 'master' VM already
- # configured.
- config.vm.define 'build-ubuntu12' do |vagrant|
- vagrant.vm.hostname = 'build-ubuntu12'
- vagrant.vm.box = 'ubuntu-12-04-x64-vmware'
- vagrant.vm.box_url = 'boxes/ubuntu-12-04-x64-vmware.box'
-
- vagrant.vm.network :private_network, ip: '172.16.100.10'
-
- # Do not use a shared folder. We will fetch sources in other ways.
- vagrant.vm.synced_folder ".", "/vagrant", disabled: true
-
- vagrant.vm.provider 'vmware_fusion' do |v|
- v.gui = true
- v.vmx['memsize'] = '4096'
- v.vmx['numvcpus'] = '4'
- end
-
- vagrant.vm.provision :shell, path: "shell/install_build_dependencies.sh"
- vagrant.vm.provision :shell, path: "shell/install_rvm.sh", args: "stable", privileged: false
- vagrant.vm.provision :shell, path: "shell/install_jdk.sh"
- vagrant.vm.provision :shell, path: "shell/create_ssh_key.sh", privileged: false
- vagrant.vm.provision :shell, path: "shell/set_omnibus_perms.sh"
- end
-
- config.vm.define 'build-ubuntu14' do |vagrant|
- vagrant.vm.hostname = 'build-ubuntu14'
- vagrant.vm.box = 'ubuntu-14-04-x64-vmware'
- vagrant.vm.box_url = 'boxes/ubuntu-14-04-x64-vmware.box'
-
- vagrant.vm.network :private_network, ip: '172.16.100.11'
-
- # Do not use a shared folder. We will fetch sources in other ways.
- vagrant.vm.synced_folder ".", "/vagrant", disabled: true
-
- vagrant.vm.provider 'vmware_fusion' do |v|
- v.gui = true
- v.vmx['memsize'] = '4096'
- v.vmx['numvcpus'] = '4'
- end
-
- vagrant.vm.provision :shell, path: "shell/install_build_dependencies.sh"
- vagrant.vm.provision :shell, path: "shell/install_rvm.sh", args: "stable", privileged: false
- vagrant.vm.provision :shell, path: "shell/install_jdk.sh"
- vagrant.vm.provision :shell, path: "shell/create_ssh_key.sh", privileged: false
- vagrant.vm.provision :shell, path: "shell/set_omnibus_perms.sh"
- end
-
- config.vm.define 'build-centos6' do |vagrant|
- vagrant.vm.hostname = 'build-centos6'
- vagrant.vm.box = 'centos-6-7-x64-vmware'
- vagrant.vm.box_url = 'boxes/centos-6-7-x64-vmware.box'
-
- vagrant.vm.network :private_network, ip: '172.16.100.12'
-
- # Do not use a shared folder. We will fetch sources in other ways.
- vagrant.vm.synced_folder ".", "/vagrant", disabled: true
-
- vagrant.vm.provider 'vmware_fusion' do |v|
- v.gui = true
- v.vmx['memsize'] = '4096'
- v.vmx['numvcpus'] = '4'
- end
-
- vagrant.vm.provision :shell, path: "shell/install_build_dependencies-centos.sh"
- vagrant.vm.provision :shell, path: "shell/install_rvm.sh", args: "stable", privileged: false
- vagrant.vm.provision :shell, path: "shell/install_jdk-centos.sh"
- vagrant.vm.provision :shell, path: "shell/create_ssh_key.sh", privileged: false
- vagrant.vm.provision :shell, path: "shell/set_omnibus_perms.sh"
- end
-
- config.vm.define 'test-ubuntu12' do |vagrant|
- vagrant.vm.hostname = 'test-ubuntu12'
- vagrant.vm.box = 'ubuntu-12-04-x64-vmware'
- vagrant.vm.box_url = 'boxes/ubuntu-12-04-x64-vmware.box'
-
- vagrant.vm.network :private_network, ip: '172.16.100.20'
-
- # Do not use a shared folder. We will fetch sources in other ways.
- vagrant.vm.synced_folder ".", "/vagrant", disabled: true
-
- vagrant.vm.provider 'vmware_fusion' do |v|
- v.gui = true
- v.vmx['memsize'] = '2096'
- v.vmx['numvcpus'] = '2'
- end
-
- vagrant.vm.provision :shell, path: "shell/update.sh"
- vagrant.vm.provision :shell, path: "shell/install_jdk.sh"
- vagrant.vm.provision :shell, path: "shell/create_ssh_key.sh", privileged: false
- end
-
- config.vm.define 'test-ubuntu14' do |vagrant|
- vagrant.vm.hostname = 'test-ubuntu14'
- vagrant.vm.box = 'ubuntu-14-04-x64-vmware'
- vagrant.vm.box_url = 'boxes/ubuntu-14-04-x64-vmware.box'
-
- vagrant.vm.network :private_network, ip: '172.16.100.21'
-
- # Do not use a shared folder. We will fetch sources in other ways.
- vagrant.vm.synced_folder ".", "/vagrant", disabled: true
-
- vagrant.vm.provider 'vmware_fusion' do |v|
- v.gui = true
- v.vmx['memsize'] = '2096'
- v.vmx['numvcpus'] = '2'
- end
-
- vagrant.vm.provision :shell, path: "shell/update.sh"
- vagrant.vm.provision :shell, path: "shell/install_jdk.sh"
- vagrant.vm.provision :shell, path: "shell/create_ssh_key.sh", privileged: false
- end
-
- config.vm.define 'test-centos6' do |vagrant|
- vagrant.vm.hostname = 'test-centos6'
- vagrant.vm.box = 'centos-6-7-x64-vmware'
- vagrant.vm.box_url = 'boxes/centos-6-7-x64-vmware.box'
-
- vagrant.vm.network :private_network, ip: '172.16.100.22'
-
- # Do not use a shared folder. We will fetch sources in other ways.
- vagrant.vm.synced_folder ".", "/vagrant", disabled: true
-
- vagrant.vm.provider 'vmware_fusion' do |v|
- v.gui = true
- v.vmx['memsize'] = '2096'
- v.vmx['numvcpus'] = '2'
- end
-
- vagrant.vm.provision :shell, inline: 'iptables -F'
- vagrant.vm.provision :shell, inline: 'yum update -y'
- vagrant.vm.provision :shell, path: "shell/install_jdk-centos.sh"
- vagrant.vm.provision :shell, path: "shell/create_ssh_key.sh", privileged: false
- end
- end