/roadmap-devenv

DMPRoadmap Development environment

Primary LanguagePuppet

DMPRoadmap Development Environment

This is the easiest way to get started with DMPRoadmap, as it sets up and deploys a (largely) platform-agnostic and totally sandboxed development environment based on:

  • Docker / Vagrant / Puppet
  • CentOS 7 / nginx / MySQL (MariaDB) / Ruby on Rails

It uses Vagrant to deploy two Docker containers, one for the database and the other for the Rails app.

Requirements

  1. Docker
  2. Vagrant

Instructions

  1. Clone this configuration repository:

    git clone https://github.com/DMPRoadmap/roadmap-devenv.git
  2. Enter your local copy:

    cd roadmap-devenv
  3. Configure Docker networking that the two containers will use:

    docker network create -d bridge --ip-range=172.18.0.0/24 \
                          --subnet=172.18.0.0/24 --gateway=172.18.0.254 \
                          dmpbridge
  4. Create the two containers (this should only take a few minutes):

    vagrant up
  5. Your DMPRoadmap development instance is up and running! You can now:

    • Open the running instance with your web browser at:
    • Log into either container:
      vagrant ssh db
      vagrant ssh dev
    • Find the source code on your host machine (e.g. to edit locally with an IDE) in the shared folder:
      roadmap-devenv/src/dmproadmap.git/
      which appears inside the dev container as:
      /opt/src/dmproadmap.git/
  6. You can customize the fork/branch to check out for deployment in the last two lines of Puppet manifest gitclone.pp:

    vcsrepo { '/opt/src/dmproadmap.git':
      ensure   => latest,
      owner    => vagrant,
      group    => source,
      provider => git,
      user     => vagrant,
      require  => Package['git'],
      source   => 'https://github.com/DMPRoadmap/roadmap.git',
      revision => 'development',
    }