Rails Study, Day 4: Still Working on the Dev Environment
Published on 29 Mar 2017
by Alexander Garber
So far I have spent time on the following:
- Vagrant
- Docker
- Digital Ocean Droplet
- Heroku
However, I'm going to take a step back and reconsider what I'm trying to accomplish.
What is my deliverable?
I want to build a Rails site, hosted on Heroku, that showcases my solutions to puzzles from Advent of Code.
How is my work supposed to flow?
![]() |
Images, containers, Atom, etc. |
- Development environment (DE) is separate from the host operating system. (Docker container or VM)
- Text editor (Atom) has read/write access to the code in the DE.
- The DE can be easily duplicated for a sandbox server.
- Code from the DE can be pushed to Github; from Github, the latest code cloned.
- Changes from the DE can be pushed to Docker Hub; from DH the latest version of the DE.
- Production code from the DE can be pushed to Heroku; from Heroku, the latest production code, although that should be available in Github.
What are the specifications of my development environment?
- Version control of all relevant packages.
- Read/Write access to development environment from host.
- Access to online platform (Github,
- Available locally, without a constant internet connection.
- Totally accessible by Atom text editor on my host machine.
- Can upload code to Heroku, pull the latest code from Heroku, and push updated code to Heroku.
- Can push updates to the environment to a repository.
What shall be my development environment?
- Docker container for the DE, with all the necessary packages installed.
- Atom text editor installed on host.
- FTP access between DE and host.
- Github access from DE.
- Docker Hub access from DE.
- Heroku access from DE.