Jekyll deployment orchestration

I am still keep doing some tuning to my static Jekyll website (I really started to love it) due to many reasons (at least MD syntax is the best and cleanest method of posting articles!). The website is kept in static S3 bucket and served through CloudFront Distribution. Major reason to do that - availability of website globally for all with no latency etc.

Ok, this is fine, but I also keep that content in git for version control across my team (we're three and all group is involved in articles post). So We use CodeCommit (it does not really matter what git you decide to go, my selection is due to AWS services we use for all we have). Consider Bitbucket and Github or even private Git of your choice. Those who use git aware that there are 3-4 commands to issue for add-commit-push. The below script helps me to keep that process simple:


#!/bin/bash
read -p "Commit message: " message
git add . && \
git add -u && \
git commit -m "$message" && \
git push origin master && \
s3_website push

Those lines do the following:

  • git add - adds content of the home folder to commit
  • git commit -m $message - commits changes with $message
  • git push origin master - uploads content to git
  • s3_website push - uploads my static content to S3 bucket for serving by CloudFront.


In short, this is about:
#jekyll
#deployment
#orchestration

Start discussion:
Related articles:
58 jekyll for static site kb with search engine json and lunr js based preview
Not too bad combination for static web site content delivery. I even can put it to AWS S3 for serving through CloudFront. ... more