Notes for KWRuby April 2016: Heroku and Ansible

Eric Roberts and Jesse McGinnis presented 2 different options for deploying a Rails project at the KWRuby meeting on April 19th 2016.

Eric Roberts: Heroku

  • Eric's advice is to just use Heroku when starting a new project
  • it is cheap, easy and allows you to ignore the deployment details on new project
  • Heroku deploys with a git push
  • recently added support for doing deployments from PR into staging environments
  • the free tier now limits server to running 13 hours/day
    • this eliminates a previous hack of keeping a server running by pinging it regularly
    • still more than enough for most purposes

Jesse McGinnis: Deploy Rails with Ansible

  • Jesse has recently been using Ansible for doing server setup and deployments
  • integration with Vagrant for local development, but the configuration can get quirky as it gets complicated
  • Boltmade has been using it for VM setup and deploys
  • Ansible also includes an inventory system
    • handle dynamic and environment based configurations
    • Jesse has not needed to use it, so far
  • Ansible galaxy roles <=> Ruby gems
  • Jessie finds that there is still a temptation to start a new system with bash
    • the assumption is that THIS system will not get more complicated, but they nearly always do
    • his lesson was to just always use Ansible
    • its not much more complicated than bash to start with, and avoid needing a re-write once it gets too complicated for bash