twlevelup / watch_edition_react

A smartwatch simulator, built in ReactJS
MIT License
3 stars 2 forks source link

RFC: Deployment #9

Open watsonarw opened 7 years ago

watsonarw commented 7 years ago

Where do we want to deploy the demo watch?

Previously we've deployed to heroku using http-server. It's worked, but can be slow, especially considering that heroku goes to sleep if the site is not accessed for more than a few hours.

Given we just have a static site, our options include:

Another consideration is that this would be something we'd be doing from CI. The students shouldn't have to worry about how deployment works, just that it happens every time they push commits to master.

sinan-aumarah commented 7 years ago

I had a chat with Adam yesterday and I don't see an issue with github pages as long as each team commits to a separate repo. It's the easiest & fastest option but by doing that the students won't be experiencing a true reflection of how CI/CD pipelines work. Having said that, I still think it's the best option we have.

watsonarw commented 7 years ago

My idea was that if we go with Github pages, the CI does the build, commit and push. Definitely don't want the students to have to ever build and deploy manually...

aaron-m-edwards commented 7 years ago

I suggested the github pages idea a couple of days ago. As Andrew said we could set up Travis (or whatever we are using now) to make a commit that contains only the build artifacts. We should also probably protect this branch so we don't have accidental pushes to it.

I can try to set it up on this repo this afternoon for a demo

aaron-m-edwards commented 7 years ago

I was playing with deployment to github pages last night, here is what I found

In my opinion CircleCi + Github pages might not be the best way forward. I would

  1. Swap CircleCI to Travis as Travis allows us to encrypt secrets in it's yaml file making bootstrapping easier
  2. Either stick with heroku/http-server if we are fine with the slowness of waking up dynos or move to a single S3 bucket with folders for each of the teams for a negligible cost of a few cents per month.
aaron-m-edwards commented 7 years ago

For the moment I have circleCI running build/test/lint without any deployment

watsonarw commented 7 years ago

Would removing the org url make gh-pages work? I'd be happy to do that if it makes things easier. Not sure what others think, but I'm guessing it's only set "because it was there".