When pull requests are merged we want the changes to go live immediately at a staging URL where they can be reviewed. After review, we want to have a github action that must be triggered manually to deploy our site to public facing URL
Action Items
[ ] Create a new repository in AWS Elastic Container Registry (ECR) where Docker images will be pushed
[ ] Set up AWS Elastic Container Service (ECS) by creating a task definition that specifies with Docker image to use from ECR repository
[ ] Create AWS IAM user with programmatic access and the necessary permissions to push image to ECR and update our ECS service. Will need these IAM credentials as secrets in github repository
[ ] Create a github action workflow that builds and pushes Docker image to AWS Elastic Container Registry (ECR)
[ ] Check out our repository
[ ] Build the docker image
[ ] Log in to ECR using AWS CLI and the IAM credentials stored in GitHub secrets
[ ] Push the Docker image to your ECR repository
[ ] Update ECS service to use the newly pushed Docker image
[ ] After verifying that site is live at staging URL on AWS, move merlcenter.org from github pages to AWS Route 53
Details
The automatic github pages deployment will be the staging URL
The deployment triggered by github action will be the live URL that public sees
Elastic beanstalk may be more simple and easy to use than ECR and ECS
Overview
When pull requests are merged we want the changes to go live immediately at a staging URL where they can be reviewed. After review, we want to have a github action that must be triggered manually to deploy our site to public facing URL
Action Items
merlcenter.org
from github pages to AWS Route 53Details
Resources