This portfolio is hosted on AWS.
Github serves as the version control for the codebase supporting the site.
Github Actions are leveraged to support the site in various ways.
There is a growing list of Github Action workflows that supports this DevOps Portfolio
This Github Action workflow is responsible for linting all html files inside the main directory
of the repository.
It scans these files for errors and formatting issues that are commited.
The workflow
triggers if any file with the extension ".html" is pushed to the github repository (regardless of branch).
The "Push Site to S3 Bucket" workflow is responsible for pushing site files to the S3 bucket hosting the static site.
The workflow leverages a Github Action Role that has least priveleges to interact with the AWS S3 service.
The workflow triggers when any file with the extension ".html" and/or ".css" is pushed to the main branch in the Site-Code directory.
The "Push Images to S3 Bucket" workflow is responsible for pushing image files to the S3 bucket hosting the static site.
The workflow leverages a Github Action Role that has least priveleges to interact with the AWS S3 service.
The workflow triggers when any file with the extension ".jpg", ".jpeg", ".png", and/or ".gif" is pushed to the main branch in the Images directory.
"Terraform Create Static Site S3" workflow leverages terraform to deploy a s3 bucket configured to host a static site.
The workflow initializes, plans, and auto-approves a terraform deploy of the s3 bucket and corresponding policy.
This Github Action triggers when a file with the extension of ".tf" and/or ".tfvars" is changed and pushed to the main branch of the repository.
The "CloudFront Invalidator" workflow is a Github Action designed to refresh the CloudFront cache to serve the latest site changes.
The workflow triggers after the SUCCESSFUL run of the "Push Site to S3 Bucket" workflow.
This will ensure that the updated version of the static site is being served.