Hey there! Looks like you've stumbled upon the code for my personal website tylangesmith.com. This is intended to be a fun little personal project where I can blog about some of the cool stuff I've worked on.
This project is built using Next.js, if you haven't heard of it before it's definitely worth checking out.
The CI / CD pipeline for the project is implemented with Github Actions. This allows us to build, test and deploy the project. All of this code can be found in the .github directory.
Our website currently hosted using AWS. All of this AWS infrastructure is defined as code using AWS CDK. However, later down the track this may changes as Next.js hosting options such as Vercel are becoming more and more attractive.
If you actually want to build and dpeloy this project here's how.
- Node v17
# First install the node dependencies
npm i
# Next run the Next.js server
npm run dev
Check the output of the terminal for the localhost
port and navigate to it in you browser. This will usually be localhost:3000.
Deploying the project may require a little more setup than just running the project locally. Again to deploy we leverage GitHub actions which deploys to AWS. For this you will need to have an AWS account already setup.
In the deploy.yml you will find the required GitHub secrets and environment variables you will need to set to deploy this project and it's infrastructure into to your AWS environment.
Variable | Type | Description |
---|---|---|
ACCOUNT_ID | GitHub Secret | The AWS Account ID |
AWS_ACCESS_KEY_ID | GitHub Secret | The IAM user Access Key ID |
AWS_SECRET_ACCESS_KEY | GitHub Secret | The IAM user Secret Access Key |
AWS_DEFAULT_REGION | Environment Variable | The default AWS region to use |
DOMAIN_NAME | Environment Variable | Your domain name |