CI / CD - Staging implementation

Continuous Integration and Continuous Deployment to (at first) a Staging Environment.

  • Setup develop / master branch (develop for CI / CD to Staging, master for production)
  • Setup VPS for runner and deploy
  • Write & Test runner script
  • Add DNS entry for staging-blog.hive.io

Envisioned breakdown of how this runner works:

  1. Builds image on CD VPS based on latest commit
  2. Pushes images to "unlisted" registry (S3) - anyone can pull an image from here.
  3. Kill previous image on CD VPS
  4. Run image on CD VPS (staging-blog.hive.io)
  5. Nginx / letsencrypt reverseproxy to the condensor port(s) of the latest build
  6. Tests?
  7. If fails somehow, revert to previous committed image? (point 3)
Edited by roeland lanparty