Hello! I'm Jase. This document outlines the continuous integration and delivery (CI/CD) pipeline I established to host this site using GitHub for version control and AWS Simple Storage Service (S3) for serving the content.
The foundation of the deployment pipeline starts with version control. My process ensures all code updates are managed efficiently and transparently:
main branch.
The website content is hosted on Amazon S3, configured specifically for static website hosting:
my-aws-website-bucket) is configured for static hosting, allowing content to be served directly via an AWS endpoint.
aws s3 sync . s3://my-aws-website-bucket --acl public-read
To enable true Continuous Deployment, I implemented a GitHub Actions workflow. This ensures that every approved code push is automatically deployed to AWS without manual intervention.
The workflow authenticates with AWS using a dedicated **Access Key ID** and **Secret Access Key** stored securely as GitHub Secrets. The target region for all AWS operations is **Europe (London), `eu-west-2`**.
name: Deploy to AWS S3 Static Host
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# Step 1: Check out the repository code
- name: Checkout Code
uses: actions/checkout@v4
# Step 2: Configure AWS Credentials
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
with:
# Uses GitHub Secrets for secure authentication
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# Set region to Europe (London)
aws-region: eu-west-2
# Step 3: Synchronize files with the S3 bucket
- name: Deploy Static Content to S3
run: aws s3 sync . s3://my-aws-website-bucket --acl public-read
This website is currently live and accessible via my custom domain: jasoncv.click
Thanks for reviewing my deployment setup!