sumptingeneric / barback

4 stars 11 forks source link

As a developer, the app should deploy when I commit to the project master branch. Heroku #5

Open deduced opened 6 years ago

deduced commented 6 years ago

Analyzing Travis CI as an interim solution as well as Heroku as a direct deployment hook.

deduced commented 6 years ago

I have read quite a bit on how to work with Heroku for automatic deployment. My proposal is that we start with the following:

So this will work as follows:

  1. Everybody develops on his own master fork.
  2. When ready, a pull request is created and we go back and forth on it per normal.
  3. When ready to merge, heroku will automatically create a deployment build for testing.
  4. On heroku we would be able to test that deployment build and move to STAGING.
  5. If Staging is ok, then we can move to PRODUCTION as a last step.

If we get to the point that we have test coverage, then we would add TRAVIS CI to the mix to build our app and run the tests. Only if those tests are successful would a deployment even be attempted.

This is, of course, a tad bit of overkill for this project but the dev build --> staging --> production is the most basic CI pipeline, so it's good for us to practice.

deduced commented 6 years ago

Once we have our first iteration of a bare-bones app, we can wire up the approach and use it to automatically deploy as we roll out features.

deduced commented 6 years ago

Ready to set up the first iteration of automated deployment to heroku. Please review and sign off on the pull request: https://github.com/sumptingeneric/barback/pull/41.

The pull request description contains a summary of the changes I made. There were additional changes made apart from the directly necessary items for Heroku.

deduced commented 6 years ago

This is all set. Heroku is now set up with a staging / production and automated review builds. We can test out at the next pull request.