Rails Study, Day 4: Still Working on the Dev Environment
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.
Published on 29 Mar 2017
by Alexander Garber
all tags
100daysofcode activerecord android annoyances api apt arch array artix atom az3w backend bash blog browser bug callback career ci-cd cli cloud code coding config configuration cp crud cryptography css csv database db design devops django docker email erp feelsgood filter fugitive gif gist git gnome gnome pomodoro grep hebrew http ide isbn-fetcher iso javascript job search js kanban kindle koans learning linkedin linux logger manjaro map markdown microservices mobi mtp neovim nodejs nvchad packages panda pastbin patch portfolio post postgres pytest python rails reduce refactoring reflections rest routes rspec ruby salesforce script scripting security sed shell sql string_replacement study tdd terminal testing tmux ttd version_control vim vim sort walkthrough webdev workflow zsh