Wrapping Up

What we learned:

  1. Basic Security and Server Setup
  2. Building an Application Server
  3. Copying files using SCP and RSYNC
  4. Deploying with Git
  5. Running sudo commands without a password
  6. Using Fabric to automate build steps
  7. Using symlinks to reduce downtime during deployment (Capistrano-style deployment)
  8. Added Rollbacks and Migrations
  9. Covered other services which follow similar steps
  10. Centralized deployment into one server, using queues and webhook listeners
  11. Added notifications (Slack)
  12. Built our application ahead of time
  13. Adjusted the build server to completely build the application
  14. Adjusted/re-created our Fabfile to deploy a built application