Seconded - all you have to do is specify a build command and an output directory and Netlify will build your site on every commit to master. You can easily add a custom domain, manage DNS, and get Let’s Encrypt SSL with the click of a button.
Not affiliated either, but I’ve been blown away by how seamless their service has been.
Indeed so, I had quite a bit of code written to handle deployment for 2 simple static websites, all got replaced by netlify in under 10 minutes, mind blown.
I've done similar setups. I highly recommend just using Cloudflare or Netlify instead. Unless you have an actual business reason, or love owning everything in the stack.
The headache of managing this yourself adds up, things break, things update, etc.
For static sites hosting on AWS S3 is super cheap, plus with Cloudfront CDN in front you can be sure your site is being delivered to the user by a server near him. It's not 100% free but still very cheap for static websites[1]
At some point, I'm going to convert my web site (a neglected blog) to a static site. When I do, I'll likely go the S3 + Cloudfront route and retire the aging physical server it's running on.
I've looked into this a couple of times in the past and that's the method I kept coming up with. I really want to do it but I've had trouble motivating myself to redo the hundreds of blog posts currently in WordPress.
There are plugins for Wordpress which export sites as static sites. I personally used SimplyStatic [1] with success for a rather simple blog, but it seems development has ceased.
While writing this comment I also found WP Static [2], perhaps one of those two works for you.
Another option, similar to some of the top-level comments suggesting Cloudflare with GitHub pages, is to use Cloudflare's long-lived internal origin certificate on GitLab and Cloudflare's public externally-valid certificate for end-users.
Although I have to admit to not actually having set that up yet: it's on my to-do list for a personal site that's in-progress this week.
What I did was a more customized version of that, I made a .gitlab-ci.yml file which easily lets you run any scripts of your own to build, with the same end result. Using gulp I had it run in development mode by default with watchers and verbose outputs, yet in the ci file I called a production build that polished everything up. For the front end side, I used pug, sass and babel with a few other js things to make a templating system, which really helped me understand site structures.
As another commenter has mentioned, Netlify is fantastic. It takes care of everything and migration is painless. And the best of all, it's free~
This year, one of my goals is to migrate all my Wordpress blogs to Jekyll and host them on Netlify. I'm almost done with 2/3rds of them and couldn't be happier. Highly recommended.
End-to-end secure, but only against passive attacks. Cloudflare "Full SSL" (as opposed to "Strict SSL") does not verify the certificate presented by the origin server, so someone sitting between Cloudflare and your origin can still MITM the connection without detection. Strict SSL does not currently work with GitHub Pages, because "*.github.io" certs do not match custom domains.
We're working on making Strict mode work better in such situations.
For example, if the origin server presents a certificate with a SAN for *.github.io and you have a CNAME to yourusername.github.io, this will (soon) validate as Strict.
That's great news! I've been hoping Cloudflare would allow customized cert validation (i.e. the user specifies a domain name to verify against, in the control panel). At least the improvement you mention will increase compatibility with GitHub Pages and others.
It is end to end but CloudFlare does not verify the identity of the origin server. The only equivalent option would be "Full SSL (Strict)", which is not free.
That is simply untrue. Full SSL (Strict) is available on all plan levels including free. There is no charge for it. In addition, if you don't have an SSL certificate on your origin we'll give you a cert for free as well: https://blog.cloudflare.com/cloudflare-ca-encryption-origin/
I believe Strict SSL is free on Cloudflare's side, but GitHub Pages does not work with it because it does not present a matching and valid certificate.
If i read free i mean free as in everything, but it seems you already need to have your own custom domain name. Meaning your own domain. Or did i miss something?
Yes, you need it. This topic is just to have SSL and free static host where GitHub just have a painful setup for that (also if you want custom domain here you need pay for it, obviously) https://github.com/isaacs/github/issues/156
You quoted it: "primarily", which means GitHub (in this case) does not prohibit users from using Page in the way you seem to disagree with. What you choose to do with Page, a blog, or a personal static website, is at the mercy and the discretion of the service provider. You just can't advertise products using Page.
You can call your project "my 365 days of kernel hacking series", put the code on Github, and then host a blog on GitHub with a mix of hacking blog posts and other non-hacking blog posts. That's acceptable.
Furthermore, one can host Gitlab on their own. There is nothing wrong morally or otherwise with using a document revision service and build platform to push static sites.