Skip to content

FINkit/development-environment-base

Repository files navigation

development-environment-base

Build Status

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.

This will install:

  • Intellij Community Edition
  • Spring Tool Suite
  • Maven
  • Cloud Foundry CLI
  • BOSH 2.0 CLI
  • and a number of other supporting development tools.

For full details of the tooling and versions provided with this environment please refer to the parent ansible playbook as well as the developer packages playbook.

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

Prerequisites - Minimum Hardware

  • 8GB RAM (by default 4GB is allocated to the VM, see Getting Started to increase this)
  • 30GB disk space (not all will be allocated immediately)

Starting the VM

Included is a basic Vagrantfile, run:

vagrant up

See Vagrant cli commands for more information.

Customising the hardware requirements

The following environment variables can be set to tune the development environment.

Variable What for Default
DEVENV_PROCESSORS How many CPU cores to allocate 2
DEVENV_MONITORCOUNT The number of monitors to use 1
DEVENV_MEMORY How much memory, in MB, to allocate 4096

thanks

Credit to @geerlingguy for his image, on which this is based