Deployment
26 Jul 2016
Reading time ~2 minutes
What I Did
- Met with Ben to go over FED and Dev work-flow to keep things same going forth with the intern group project.
- I spent most of the day debugging errors while attempting to deploy “These Numbers Matter” from my functioning local environment to Heroku. Foolishly, I had not been deploying along the way, so I ended up spending a ton of time researching things that, though important to know, were completely unrelated to the problem at hand.
What I Learned
- Continuous integration is a development practice that allows for developers to integrate code frequently throughout a given day. Each code check-in is verified by an automated build, decreasing the amount of time spent later on tracking down bugs. CircleCI provides this service.
- Ben mentioned that it may be possible to pull in new production changes directly into our our local master and staging environments using a rake task. I’ve yet to look into this further.
- Dragonfly is a ruby gem for on-the-fly image processing suitable for Rails, Sinatra, etc.
- Heroku buildpacks transform deployed code into a slug, which can then be conveniently executed on a dyno.
- Slugs are compressed and pre-packaged copies of you application optimized for distribution to the dyno manager.
- A dyno is a lightweight Linux container that runs a single user-specified command. A dyno can run any command available in its default environment.
- A LXC (Linux Container) is an operating-system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel.
- A daemon is a long-running background process that answers requests for services.
- The following situations entail running multiple buildpacks for your Heroku app -
- a buildpack for each language you utilize in your app (e.g. JavaScript buildpack for node modules)
- run a daemon process such as pgbouncer within you application
- pull in system dependencies with apt
What I Still Don’t Understand
I’m still not entirely sure how to go about seeding images for ease of setting up a functioning environment for “These Numbers Matter” replete with the appropriate content and images.