chihacknight / chihacknight.org

:star2: Website for the Chi Hack Night.
https://chihacknight.org
MIT License
57 stars 71 forks source link

setup new deployment process #184

Closed derekeder closed 5 years ago

derekeder commented 5 years ago

Pushing to the deploy branch for deployments is currently disabled.

The deployments were dependent on GitHub access tokens being used on DataMade’s development server, which we determined was a huge security risk. DataMade is currently setting up a new pattern for deploying static sites, and Chi Hack Night will also have to use an alternative way to deploy.

I can currently get around it by manually zipping up the site and updating the server directly, but it is tedious and as of now only i can do it.

There are quite a few options for deployment approaches, some of which are documented here: https://jekyllrb.com/docs/deployment/

Requirements (as I see them) for any new deployment process:

easherma commented 5 years ago

I have had great success doing this with https://www.netlify.com/ , I also know some people who work there. But domain management, deploy previews, etc, are very painless.

For example, I played around with this on a fork of chihacknight awhile back: https://chihacknight.netlify.com/ Deploy previews get build like this: https://5ae78e16e39e7c3c040ef04c--chihacknight.netlify.com/

You can set it up to automatically build branch copies as well. Domain management happens inside the netlify account. It's free.

The other option I see is to migrate back to Github pages, since I believe the only reason we moved was because it wasn't https at the time?

Netlify also allows other advantages too, like easy handling of form submissions, and easily creating authenticated users and having a login process for that.

shua123 commented 5 years ago

I haven't used netlify much yet but it sounds interesting. I do like the idea of pull request builds. Chris Whong wrote a post about NYC Planning Labs switch to Netlify: https://medium.com/nycplanninglabs/o-hai-netlify-120c9f961922. The simplicity of moving back to Github pages might be good too though.

Something to maybe think about is if there is a deployment process that helps with the Wednesday-Friday issue*. Aka, is there a process that makes it easier to schedule regeneration Tuesday night/Wednesday morning with a mid week home page look.

Relevant issues: https://github.com/chihacknight/chihacknight.org/issues/77 and Steve's emailed comments:

The site does not have good info between Wednesday and Friday (between the previous Tuesday's event being pulled and the new one posted). It just looks lost. What can we do about this?

Netlify + IFTTT scheduled rebuilds: https://www.jordanmerrick.com/2017/10/netlify-and-ifttt/ Netlify + Zapier scheduled rebuilds: https://zapier.com/apps/netlify/integrations/schedule/29330/start-a-new-deploy-of-a-netlify-site-on-a-daily-schedule

derekeder commented 5 years ago

DataMade just switched our static website (datamade.us) over to Netlify and its great. +1 for this suggestion.

I'd be ready to make this switch any time. @easherma, other than making the appropriate DNS changes, is there anything else we'd need to do to make the switch?

Also, we at DataMade noticed an issue with Netlify's ALIAS requirement for the apex domain. Our DNS provider, Namecheap, does not support that record type. Instead, you need to create an A record that points to their load balancer (some detail on that written about in this blog post: https://jameshfisher.com/2017/08/08/hosting-on-netlify.html)

easherma commented 5 years ago

Netlify also does domain management, which we could do.

Other than that, we're good to go. I already actually have a fork of chihacknight.org deployed to Netlify already.

On Thu, Mar 7, 2019 at 3:03 PM Derek Eder notifications@github.com wrote:

DataMade just switched our static website (datamade.us) over to Netlify and its great. +1 for this suggestion.

I'd be ready to make this switch any time. @easherma https://github.com/easherma, other than making the appropriate DNS changes, is there anything else we'd need to do to make the switch?

Also, we at DataMade noticed an issue with Netlify's ALIAS requirement for the apex domain. Our DNS provider, Namecheap, does not support that record type. Instead, you need to create an A record that points to their load balancer (some detail on that written about in this blog post: https://jameshfisher.com/2017/08/08/hosting-on-netlify.html)

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/chihacknight/chihacknight.org/issues/184#issuecomment-470693103, or mute the thread https://github.com/notifications/unsubscribe-auth/AKDTT2n3g4n009_ud0ompVreqwVyrCkIks5vUX6mgaJpZM4a8iKy .

derekeder commented 5 years ago

It looks like we need to setup a config file for Netlify to work netlify.toml. @easherma can you open a PR for that?

derekeder commented 5 years ago

We'll also need a shared Netlify account to manage it that the web team will have access to

easherma commented 5 years ago

@derekeder if you want to set up a shared account and pass me credentials I can set up the deploy. I also opened a PR with some older work I had done with Netlify; none of that is actually required to deploy a version of the site, though.

derekeder commented 5 years ago

Ok, Netlify is now setup and I've deployed & pointed the DNS to their servers. Our new hosting & deployment is now good to go!

I set it up so pushing to the deploy branch triggers a Netlify deployment, so our existing pattern for deployment is the same.

For convenience, I use the following alias in my .bash_profile

alias git_deploy='git push origin master && git push origin master:deploy'