I originally drafted this in June 2018. Following on from Sam McGeown’s recent migration to Hugo, I thought I’d finally publish this in case it’s useful for anyone rather than sitting on it until I complete the process!
Summary of Tools Used
These are the tools I’ll be using during my migration of my WordPress blog to Hugo (in AWS):
- SourceTree (git client)
- Sublime (text editor)
- AWS S3
- AWS CloudFront
- AWS Certificate Manager
- AWS Route53
Building a Toolkit
I’m a Mac user. I have been for a number of years and I don’t plan to switch anytime very soon. Most of the tools that I’ll be using either have Windows / Linux versions or there are similar tools available for those OSs. I’ll try not to go in to too much OSX specific detail about any of them, and, if you’re following this process, you might have to adapt to whatever tooling works best for you.
A good number of tools listed above are web-based or cross-platform so shouldn’t present a big problem for anyone. I will be using the command line when I can, hence the inclusion of AWSCLI.
Probably the most OSX specific tool in that list is Homebrew (aka “Brew”). It’s a package manager for OSX and I’ll be using it to install Hugo and AWSCLI on my laptop. If you’re a Windows user, try Chocolatey instead. If you’re a Linux user, you should use whatever package manager comes with your distro.
Naturally, the use of AWS services means that you need an AWS account of your own. I’m going to assume that you have one and have got it to a point where you can consume the services above.
Installing AWSCLI and Hugo
Let’s assume that we’ve got Brew installed (it’s easy, the instructions are right there on the homepage). Installing AWSCLI and Hugo is straightforward too!
First, AWSCLI. Just type the following in to a terminal window:
brew install awscli
Once installed, you’ll need to execute the following command to configure AWSCLI with your Access Key ID and Secret Access Key:
Now let’s do Hugo. Can you guess the command? (I still managed to mistype it!)
brew install hugo
Start Your Engines
So, we know how our journey will start and what we expect to find when we get there. We’ve just packed the car. Let’s get going!