A development environment base box using ubuntu xenial 64bit
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 1 commit ahead, 110 commits behind FINkit:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ansible
http
scripts
.gitignore
.travis.yml
CONTRIBUTING.md
LICENSE
README.md
Vagrantfile.template
development-environment-base.json
sync.sh
update_github_projects.groovy

README.md

development-environment-base

overview

This project produces an Ubuntu OS Vagrant box, which is built using Hashicorp Packer for consumption by Hashicorp Vagrant, tailored to run on VirtualBox. The box is provisioned using Ansible, and aims to provide developers with an environment containing some of the most common development tools and packages.

validate

To validate the packer configuration, navigate to the root of the project and run:

packer validate development-environment-base.json

build

To build the project, navigate to the root of the project and run:

packer build development-environment-base.json

You'll need to set the VAGRANT_CLOUD_TOKEN, VAGRANT_CLOUD_ENDPOINT, ATLAS_USERNAME & ATLAS_NAME environment variables to push this artefact up to Vagrant Cloud

download

The built vagrant artefact is available here. You'll also require VirtualBox and Vagrant to use this base box.

run

You can create a basic Vagrantfile which will download the box and setup an environment:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Check and Install required plugins if missing
installed_plugins = false
required_plugins=%w( vagrant-vbguest )
required_plugins.each do |plugin|
  if !Vagrant.has_plugin?plugin
    system "vagrant plugin install #{plugin}"
    installed_plugins = true
  end
end

if installed_plugins
  puts "Please re-run 'vagrant up' command"
  exit
end

Vagrant.require_version ">= 1.9.5"

$windows = (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
$mac = (/darwin/ =~ RUBY_PLATFORM) != nil
$linux = (/linux/ =~ RUBY_PLATFORM) != nil

Vagrant.configure(2) do |config|

  config.vm.box = "finkit/development-environment-base"
  config.vm.box_version = "1.0.1501695250"

  if Vagrant.has_plugin?("vagrant-vbguest")
    config.vbguest.auto_update = true
    config.vbguest.iso_path = "http://download.virtualbox.org/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso"
  end

  config.vm.provider "virtualbox" do |v|
    v.gui = true
    v.name = "development-environment"
    v.customize ["modifyvm", :id, "--cpus", "2"]
    v.customize ["modifyvm", :id, "--cpuexecutioncap", "100"]
    v.customize ["modifyvm", :id, "--monitorcount", "1"]
    v.customize ["modifyvm", :id, "--memory", "2048"]
    v.customize ["modifyvm", :id, "--vram", "128"]
    v.customize ["modifyvm", :id, "--ioapic", "on"]
    v.customize ["modifyvm", :id, "--accelerate3d", "on"]
    v.customize ["modifyvm", :id, "--clipboard", "bidirectional"]
  end
  config.vm.synced_folder ".", "/vagrant"
end

Save the file (Vagrantfile) and within the same directory, run:

vagrant up

See Vagrant cli commands for more information.