Seperate out docker testst
This commit is contained in:
parent
83b2b399f3
commit
32ac59b308
@ -8,7 +8,10 @@ GUEST_BOXES = {
|
||||
# 'hashicorp-vagrant/centos-7.4' => '1.0.2',
|
||||
# 'hashicorp-vagrant/windows-10' => '1.0.0',
|
||||
# 'spox/osx-10.12' => '0.0.1'
|
||||
'nginx' => 'latest' # docker image
|
||||
}
|
||||
|
||||
DOCKER_IMAGES = {
|
||||
'nginx' => 'latest'
|
||||
}
|
||||
|
||||
# Host boxes to run vagrant-spec
|
||||
@ -33,9 +36,11 @@ PLATFORM_SCRIPT_MAPPING = {
|
||||
enabled_providers = ENV.fetch("VAGRANT_SPEC_PROVIDERS", "virtualbox").split(",")
|
||||
# Set what boxes should be used
|
||||
enabled_guests = ENV["VAGRANT_GUEST_BOXES"] ? ENV["VAGRANT_GUEST_BOXES"].split(",") : GUEST_BOXES.keys
|
||||
enabled_docker_images = ENV["VAGRANT_DOCKER_IMAGES"] ? ENV["VAGRANT_DOCKER_IMAGES"].split(",") : DOCKER_IMAGES.keys
|
||||
enabled_hosts = ENV["VAGRANT_HOST_BOXES"] ? ENV["VAGRANT_HOST_BOXES"].split(",") : HOST_BOXES.keys
|
||||
|
||||
guest_boxes = Hash[GUEST_BOXES.find_all{|name, version| enabled_guests.include?(name)}.compact]
|
||||
docker_images = Hash[DOCKER_IMAGES.find_all{|name, version| enabled_docker_images.include?(name)}.compact]
|
||||
host_boxes = Hash[HOST_BOXES.find_all{|name, version| enabled_hosts.include?(name)}.compact]
|
||||
|
||||
# Grab vagrantcloud token, if available
|
||||
@ -87,38 +92,67 @@ Vagrant.configure(2) do |global_config|
|
||||
config.vm.provision :shell,
|
||||
path: "./scripts/#{PLATFORM_SCRIPT_MAPPING[platform]}-setup.#{provider_name}.sh", run: "once"
|
||||
end
|
||||
guest_boxes.each_with_index do |box_info, idx|
|
||||
guest_box, box_version = box_info
|
||||
guest_platform = guest_box.split('/').last.sub(/[^a-z]+$/, '')
|
||||
guest_platform = PLATFORM_SCRIPT_MAPPING[guest_platform]
|
||||
spec_cmd_args = ENV["VAGRANT_SPEC_ARGS"]
|
||||
if idx != 0
|
||||
spec_cmd_args = "#{spec_cmd_args} --without-component cli/*".strip
|
||||
if provider_name == "docker"
|
||||
docker_images.each_with_index do |image_info, idx|
|
||||
docker_image, _ = image_info
|
||||
spec_cmd_args = ENV["VAGRANT_SPEC_ARGS"]
|
||||
if idx != 0
|
||||
spec_cmd_args = "#{spec_cmd_args} --without-component cli/*".strip
|
||||
end
|
||||
if platform == "windows"
|
||||
config.vm.provision(
|
||||
:shell,
|
||||
path: "./scripts/#{platform}-run.#{provider_name}.ps1",
|
||||
keep_color: true,
|
||||
env: {
|
||||
"VAGRANT_SPEC_ARGS" => "--no-builtin #{spec_cmd_args}".strip,
|
||||
"VAGRANT_SPEC_DOCKER_IMAGE" => docker_image
|
||||
}
|
||||
)
|
||||
else
|
||||
config.vm.provision(
|
||||
:shell,
|
||||
path: "./scripts/#{PLATFORM_SCRIPT_MAPPING[platform]}-run.#{provider_name}.sh",
|
||||
keep_color: true,
|
||||
env: {
|
||||
"VAGRANT_SPEC_ARGS" => "--no-builtin #{spec_cmd_args}".strip,
|
||||
"VAGRANT_SPEC_DOCKER_IMAGE" => docker_image
|
||||
}
|
||||
)
|
||||
end
|
||||
end
|
||||
if platform == "windows"
|
||||
config.vm.provision(
|
||||
:shell,
|
||||
path: "./scripts/#{platform}-run.#{provider_name}.ps1",
|
||||
keep_color: true,
|
||||
env: {
|
||||
"VAGRANT_SPEC_ARGS" => "--no-builtin #{spec_cmd_args}".strip,
|
||||
"VAGRANT_SPEC_BOX" => "c:/vagrant/#{guest_box.sub('/', '_')}.#{provider_name}.#{box_version}.box",
|
||||
"VAGRANT_SPEC_GUEST_PLATFORM" => guest_platform,
|
||||
"VAGRANT_SPEC_DOCKER_IMAGE" => guest_box
|
||||
}
|
||||
)
|
||||
else
|
||||
config.vm.provision(
|
||||
:shell,
|
||||
path: "./scripts/#{PLATFORM_SCRIPT_MAPPING[platform]}-run.#{provider_name}.sh",
|
||||
keep_color: true,
|
||||
env: {
|
||||
"VAGRANT_SPEC_ARGS" => "--no-builtin #{spec_cmd_args}".strip,
|
||||
"VAGRANT_SPEC_BOX" => "/vagrant/test/vagrant-spec/boxes/#{guest_box.sub('/', '_')}.#{provider_name}.#{box_version}.box",
|
||||
"VAGRANT_SPEC_GUEST_PLATFORM" => guest_platform,
|
||||
"VAGRANT_SPEC_DOCKER_IMAGE" => guest_box
|
||||
}
|
||||
)
|
||||
else
|
||||
guest_boxes.each_with_index do |box_info, idx|
|
||||
guest_box, box_version = box_info
|
||||
guest_platform = guest_box.split('/').last.sub(/[^a-z]+$/, '')
|
||||
guest_platform = PLATFORM_SCRIPT_MAPPING[guest_platform]
|
||||
spec_cmd_args = ENV["VAGRANT_SPEC_ARGS"]
|
||||
if idx != 0
|
||||
spec_cmd_args = "#{spec_cmd_args} --without-component cli/*".strip
|
||||
end
|
||||
if platform == "windows"
|
||||
config.vm.provision(
|
||||
:shell,
|
||||
path: "./scripts/#{platform}-run.#{provider_name}.ps1",
|
||||
keep_color: true,
|
||||
env: {
|
||||
"VAGRANT_SPEC_ARGS" => "--no-builtin #{spec_cmd_args}".strip,
|
||||
"VAGRANT_SPEC_BOX" => "c:/vagrant/#{guest_box.sub('/', '_')}.#{provider_name}.#{box_version}.box",
|
||||
"VAGRANT_SPEC_GUEST_PLATFORM" => guest_platform,
|
||||
}
|
||||
)
|
||||
else
|
||||
config.vm.provision(
|
||||
:shell,
|
||||
path: "./scripts/#{PLATFORM_SCRIPT_MAPPING[platform]}-run.#{provider_name}.sh",
|
||||
keep_color: true,
|
||||
env: {
|
||||
"VAGRANT_SPEC_ARGS" => "--no-builtin #{spec_cmd_args}".strip,
|
||||
"VAGRANT_SPEC_BOX" => "/vagrant/test/vagrant-spec/boxes/#{guest_box.sub('/', '_')}.#{provider_name}.#{box_version}.box",
|
||||
"VAGRANT_SPEC_GUEST_PLATFORM" => guest_platform,
|
||||
}
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user