Using AWS Amplify to deploy this site was mind-blowingly easy. 😍
For my old site, I had been using a CMS named Lektor which I had been hosting out of S3. It was pretty easy to use, and I had no real complaints about it, but while working on a project at work to make our engineering documentation easier to discover and read, we started using VuePress. VuePress is so simple and easy to use and I love it.
I remembered seeing that AWS Amplify Console could deploy VuePress, and I had played around a bit with Amplify in re:Invent workshops and enjoyed working with it so I decided to try it out.
Add Your Repo
The first thing that you have to do is tell Amplify where your code is located. I'm using GitHub, but you can also use BitBucket, GitLab, or AWS CodeCommit (or by uploading build artifacts manually).
After authorizing Amplify to access my Github respositories, all I had to do was
choose it in a list. You also have the option to pick a branch, but this site is
simple enough that I'm just using
Configuring Your Build
Amplify can automatically detect that you're using VuePress. I didn't have to do anything on this screen. If you've changed your directories or you're using custom npm commands, you'll want to update the YML to match.
There are some advanced settings here where you can set some additional environment variables, but for a site this simple I didn't need to change anything.
Review and Deploy
The final step was to just review what Amplify was going to build. All I had to do was click "Save and deploy":
And that was pretty much it. Basically 4 button clicks and done! 🎉🎉🎉
Amplify goes through some steps and even allows you to preview what your site will look like on a variety of devices of different sizes:
Amplify will automatically deploy your site on the
amplifyapp.com domain. You
can add custom domains as well. I'm using AWS Route
53 so I didn't have to really do anything
here either besides type the custom domain name that I wanted to use. Amplify
took care of everything and in about 30 minutes my site was up and running on
the custom domain.
I have no experience trying out Amplify on a more complex site (yet), but for something as static and easy as this, it works great. 😌
I recommend checking it out.