An automatically provisioned and configured virtual machine serving as a development box
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
http
provisioning Remove Virtualbox. Close #139 Aug 7, 2018
test
.dockerignore
.gitignore
.kitchen.yml Use bento/ubuntu-17.10 as a source. Close #126 Mar 29, 2018
.travis.yml
CHANGELOG.md
Gemfile
LICENSE
Makefile
README.md
Vagrantfile
ubuntu-000-os-install.sh
ubuntu-100-provision-install-ansible.json
ubuntu-200-provision-ansible.json
ubuntu-201-upgrade.json
ubuntu-300-vagrant-box.json
ubuntu-400-vagrant-cloud-upload.json

README.md

Open Development Environment: Devbox

  • Master branch: Build Status Build Status

A Vagrant box serving as a development machine. It's automatically built using Packer and Ansible. Read the related blog post.

Part of the Open Development Environment Project.

Changelog

For a list of changes, have a look at the changelog

Dependencies

These are the dependencies required to run the box:

  • Vagrant 2.0.3+
  • Virtualbox 5.2.8+

How to Run

To use the box:

  1. Install the dependencies
  2. Run vagrant init ferrarimarco/open-development-environment-devbox to initialize a Vagrantfile for this box
  3. Run vagrant up

Credentials

There is a vagrant user already configured, password: vagrant

What's inside the box

This "development box" is based on Ubuntu with an XFCE Desktop environment and includes the following tools, ready to be used:

Bash aliases

The following aliases are automatically set up during the provisioning process:

  • changelog-generator: to run Github Changelog Generator
  • docker-clean: to run docker-clean
  • dockerfile-lint: to run hadolint and dockerlint on every Dockerfile in the current directory and its subdirectories
  • git-log1, git-log2, git-log3: see open-development-environment-git for details
  • pgadmin4: to start a container running pgAdmin4 in single user mode and then open a browser window pointing to it. Data is saved in an external volume mapped to /home/vagrant/.pgadmin4
  • psscriptanalyzer: to run PSScriptAnalyzer on every Powershell script in the current directory and its subdirectories
  • shellcheck: to run Shellcheck on every shell script in the current directory and its subdirectories

Example Vagrantfile

Vagrant.configure("2") do |config|
  config.vm.box = "ferrarimarco/open-development-environment-devbox"
  config.vm.network "private_network", type: "dhcp"

  config.vm.provider "virtualbox" do |v|
    v.customize ["modifyvm", :id, "--cpus", 4]
    v.customize ["modifyvm", :id, "--clipboard", "bidirectional"]
    v.customize ["modifyvm", :id, "--memory", 4096]
    v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
    v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
    v.customize ["modifyvm", :id, "--vram", "128"] # 10 MB is the minimum to enable Virtualbox seamless mode

    # Display the VirtualBox GUI
    v.gui = true
  end
end

Contributions

If you have suggestions, please create a new GitHub issue or pull request.

Manual Build

Dependencies

  • runtime dependencies listed above
  • GNU Make 4.1+
  • Packer 1.2.1+

Build

  1. Install the dependencies
  2. Clone the repository
  3. Run make

Testing

Dependencies

  • Bundler 1.13.0+
  • Ruby 2.3.0+
  • Docker 1.12.0+
  • See Gemfile

Setup

Ssee .travis.yml

Manual Downloads

Due to licensing reasons, we cannot include the SQL Developer setup package. Download it manually from Oracle Website and place it in provisioning/downloads/ and update sql_developer_path value in the variables section of the template (or provide your own variables file).