Live data from Hacker News

Jekyll Static Web Hosting – Deployment Pipeline on AWS

zoph.me

41–50 of 67 posts

Re: Jekyll Static Web Hosting – Deployment Pipeline on AWS

#41

Cool! I could see why this would work well for teams and collaboration. Here's my hugo+aws pipeline for my personal blog. Do editing, with hugo in server mode so I can WYSIWYG edit my pages. Then run a bash script: #!/bin/bash # build site from markdown + template hugo ~/sitedir/ # post to S3 bucket which is a file storage service aws s3 sync ~/sitedir/public s3:sitedirbuckket --recursive # invalidate CDN distributio…

This is almost line-for-line my setup. I like the CodeBuild solution for the times when I'm editing on my phone or a shared computer. I push to GitHub, and CodeBuild handles: * build (as above, plus asset processing and minification) * deploy (s3 sync, plus some fiddling to add 301 redirects) * ping search engines I keep a lot of drafts and temporary notes in my local checkouts and doing build/deploy on a fresh check…

Hey, thanks for sharing your setup. What's this thing about `ping search engines`?

Re: Jekyll Static Web Hosting – Deployment Pipeline on AWS

#42
post #41

Earlier quoted context omitted.

This is almost line-for-line my setup. I like the CodeBuild solution for the times when I'm editing on my phone or a shared computer. I push to GitHub, and CodeBuild handles: * build (as above, plus asset processing and minification) * deploy (s3 sync, plus some fiddling to add 301 redirects) * ping search engines I keep a lot of drafts and temporary notes in my local checkouts and doing build/deploy on a fresh check…

Hey, thanks for sharing your setup. What's this thing about `ping search engines`?

To refresh the crawled cache the search engines have. I've never given it much thought, but I guess it would be refreshed when queried. I will add it to my bash script for funzies.

Here's the implementation in the sister comment: https://github.com/thom-nic/jekyll-s3_deploy/blob/master/lib...

Re: Jekyll Static Web Hosting – Deployment Pipeline on AWS

#43

Cool! I could see why this would work well for teams and collaboration. Here's my hugo+aws pipeline for my personal blog. Do editing, with hugo in server mode so I can WYSIWYG edit my pages. Then run a bash script: #!/bin/bash # build site from markdown + template hugo ~/sitedir/ # post to S3 bucket which is a file storage service aws s3 sync ~/sitedir/public s3:sitedirbuckket --recursive # invalidate CDN distributio…

related: I wrote a plugin to do the same for Jekyll, although it does not (yet) do cloudfront invalidation: https://github.com/thom-nic/jekyll-s3_deploy

Looks good. gzip is implemented on cloudfront instances via a flag, so you can kill two todos by implementing it!

I wonder how much cool stuff you could add to this build gem. Minification, staging, SCSS, etc.

Re: Jekyll Static Web Hosting – Deployment Pipeline on AWS

#45

I deploy my websites on my own VPS at DigitalOcean, but with a simpler setup then the TFA. I simply have a Travis-ci.org setup that does an "rsync" after "jekyll build". And in case I'm not in the mood for waiting on Travis, I simply "rsync" from my localhost after build. Having an automated build system has advantages though - if you get a PR on your website repository with typos and so on, you just have to merge it…

I build an nginx Docker image that serves the Jekyll output and push that. I have an Ansible docker_container task that pulls and runs it. Done, couldn't be happier.

Re: Jekyll Static Web Hosting – Deployment Pipeline on AWS

#46

What a nightmare. I'm sure there are use cases for a setup like this, but this is not the system I'd like to maintain. I use Jekyll because of it's simplicity. I edit my site in my favorite text editor and rsync to shared hosting.

Couldn't agree more. I love tinkering around with things and building setups just to learn, but for something like a personal webpage I just want simple. I use hugo and then setup my output folder (where the generated output goes) as a git repo. Generate the site -> git commit/push -> Caddy. Caddy has a feature to pull in content from a git repo so when you couple that with the built-in Let's Encrypt support it makes…

I also use hugo. In my setup, though, I have everything in one git repo - config files, content files, theme, output, etc. Nginx exposes its output directory.

I stopped using Caddy when I discovered that it didn't support one of the unusual TLDs I had. Maybe I should give it another go, though. That was over a year ago.

Re: Jekyll Static Web Hosting – Deployment Pipeline on AWS

#47

I deploy my websites on my own VPS at DigitalOcean, but with a simpler setup then the TFA. I simply have a Travis-ci.org setup that does an "rsync" after "jekyll build". And in case I'm not in the mood for waiting on Travis, I simply "rsync" from my localhost after build. Having an automated build system has advantages though - if you get a PR on your website repository with typos and so on, you just have to merge it…

That's pretty much what I ended up doing as well, albeit with my own static site builder scripts. Each time I build my site[1], the deployment script is just a directory rsync. No mess, no fuss. You are also right about not needing a CDN. My site has occasionally become momentarily popular and my $5 hosting VM hasn't even blinked on my completely static site. A database is a fine thing but you don't want to be servin…

Your blog is acceptable to me.

More specifically, I like the dry humor and scattershot nature of the content. Reminds me of how the web used to be.

Re: Jekyll Static Web Hosting – Deployment Pipeline on AWS

#48

Earlier quoted context omitted.

That's pretty much what I ended up doing as well, albeit with my own static site builder scripts. Each time I build my site[1], the deployment script is just a directory rsync. No mess, no fuss. You are also right about not needing a CDN. My site has occasionally become momentarily popular and my $5 hosting VM hasn't even blinked on my completely static site. A database is a fine thing but you don't want to be servin…

Your blog is acceptable to me. More specifically, I like the dry humor and scattershot nature of the content. Reminds me of how the web used to be.

> Your blog is acceptable to me

That is literally the nicest thing anyone has ever said about my blog.

(Realistically I probably should have started different sites as my circumstances/interests changed, but it's my blog and I'll do what I want)

Re: Jekyll Static Web Hosting – Deployment Pipeline on AWS

#49

Earlier quoted context omitted.

Couldn't agree more. I love tinkering around with things and building setups just to learn, but for something like a personal webpage I just want simple. I use hugo and then setup my output folder (where the generated output goes) as a git repo. Generate the site -> git commit/push -> Caddy. Caddy has a feature to pull in content from a git repo so when you couple that with the built-in Let's Encrypt support it makes…

I also use hugo. In my setup, though, I have everything in one git repo - config files, content files, theme, output, etc. Nginx exposes its output directory. I stopped using Caddy when I discovered that it didn't support one of the unusual TLDs I had. Maybe I should give it another go, though. That was over a year ago.

What do you mean it didn't support a TLD? It's a server, how does it need to "support" TLDs? In my experience, you just specify the hostname and it works.

Re: Jekyll Static Web Hosting – Deployment Pipeline on AWS

#50

Earlier quoted context omitted.

Your blog is acceptable to me. More specifically, I like the dry humor and scattershot nature of the content. Reminds me of how the web used to be.

> Your blog is acceptable to me That is literally the nicest thing anyone has ever said about my blog. (Realistically I probably should have started different sites as my circumstances/interests changed, but it's my blog and I'll do what I want)

Oh yeah? Well I really like your board games series!
Post reply on HN