-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathVagrantfile
More file actions
78 lines (60 loc) · 2.69 KB
/
Vagrantfile
File metadata and controls
78 lines (60 loc) · 2.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# -*- mode: ruby -*-
# coding: utf-8
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
config.vm.define "vagrant"
config.vm.box = "bento/ubuntu-16.04"
config.vm.hostname = "bbuddy.local"
config.vm.network "forwarded_port", guest: 8080, host: 9000
config.vm.network "forwarded_port", guest: 8090, host: 8090
config.vm.provider "virtualbox" do |vb, override|
synced_opts = {}
if ENV["ENABLE_NFS"] == "true"
override.vm.network "private_network", type: "dhcp"
synced_opts = {nfs: true}
end
{
"." => "/home/vagrant/src"
}.map { |local_folder, vagrant_folder|
override.vm.synced_folder *([local_folder, vagrant_folder] << synced_opts)
}
vb.customize ["modifyvm", :id, "--memory", "2048"]
override.vm.provision "shell", inline: <<-SHELL
set -e
if [[ '#{ENV["http_proxy"]}' == 'http://127.0.0.1:3128' ]]; then
echo "export http_proxy='http://10.0.2.2:3128'" > /etc/profile.d/proxy.sh
echo "export https_proxy='http://10.0.2.2:3128'" >> /etc/profile.d/proxy.sh
echo "export all_proxy='socks5h://10.0.2.2:1080'" >> /etc/profile.d/proxy.sh
echo "export no_proxy='127.0.0.1,localhost,10.0.2.2,10.0.2.15,ruby.taobao.org'" >> /etc/profile.d/proxy.sh
echo "export JAVA_OPTS='-Dhttp.proxyHost=10.0.2.2 -Dhttp.proxyPort=3128 -Dhttps.proxyHost=10.0.2.2 -Dhttps.proxyPort=3128 -DsocksProxyHost= -DsocksProxyPort='" >> /etc/profile.d/proxy.sh
echo 'export GRADLE_OPTS="\$JAVA_OPTS"' >> /etc/profile.d/proxy.sh
echo 'export MAVEN_OPTS="\$JAVA_OPTS"' >> /etc/profile.d/proxy.sh
fi
[[ -f /etc/profile.d/proxy.sh ]] && source /etc/profile.d/proxy.sh
apt-get update -qq && apt-get install -y python
SHELL
end
config.vm.provider :aws do |aws, override|
override.vm.box = "dummy"
aws.endpoint = ENV['AWS_ENDPOINT'] if ENV['AWS_ENDPOINT']
aws.region= ENV['AWS_DEFAULT_REGION']
aws.access_key_id = ENV['AWS_ACCESS_KEY_ID']
aws.secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
aws.ami = ENV['AWS_DEFAULT_AMI']
aws.instance_type = ENV['AWS_DEFAULT_INSTANCE_TYPE'] || 't2.micro'
aws.keypair_name = ENV['AWS_DEFAULT_KEYPAIR'] || 'default'
override.ssh.username = "ubuntu"
override.ssh.private_key_path = "~/.ssh/id_rsa"
override.vm.synced_folder ".", "/vagrant", type: "rsync", rsync__exclude: ".git/"
end
config.vm.provision "shell", inline: <<-SHELL
apt-get update -qq && apt-get install -y python
SHELL
config.vm.provision "ansible" do |ansible|
ansible.playbook = "bbuddy.yml"
ansible.raw_arguments = [
"-e", "gradle_project_path=/home/vagrant/bbuddy-dev",
"-e", "gradle_project_task='cucumber'"
]
end
end