Code Monkey home page Code Monkey logo

ferrarimarco / open-development-environment-devbox Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 5.0 230 KB

An automatically provisioned and configured virtual machine serving as a development box

Home Page: https://app.vagrantup.com/ferrarimarco/boxes/open-development-environment-devbox

License: Apache License 2.0

Shell 65.89% Ruby 15.38% Makefile 18.73%
devbox ansible vagrant docker ruby java eclipse virtualbox oracle-sql-developer packer pgadmin shellcheck psscriptanalyzer

open-development-environment-devbox's Introduction

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).

open-development-environment-devbox's People

Contributors

ferrarimarco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

open-development-environment-devbox's Issues

Install Ansible using a shell script

Ansible is now installed using the ansible_local Vagrant provisioner.

I prefer to install it using a plain shell script for a more portable experience.

Unable to add vagrant user to docker group during the first provisioning

Ansible cannot add vagrant user to the docker group when provisioning the machine for the first time (with vagrant up). If the provisioning is executed a second time (with vagrant provision), it runs fine and vagrant is added to docker group without problems.

This may be due to the SSH session caching done by Ansible. To avoid this issue it could be enough to run the related task in a separate playbook after the one that install Docker.

Enable Line numbers in Eclipse

Set this in /home/vagrant/workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs: lineNumberRuler=true

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.