Deploy a Stage

How-to deploy a new or existing stage to AWS.

Table of contents


Deploy a stage

Summary

This deploys the entire application, so the entire stage, to AWS.

Prerequisites:

Procedure

Notes

  • None

Deploy an individual service

Description

This will deploy a single service for a given stage. All other services on which your target service is dependent must already be deployed for the stage. For example: if service B depends on service A, and you want to use this procedure to deploy only service B, then service A must have already been deployed.

Prerequisites:

Procedure

Notes

  • None

Deploy using GitHub Actions

Summary

This project uses GitHub Actions as its CI/CD tool. For the most part, this project also adheres to GitOps. That said…

Each branch pushed to the macpro-mako git repository is automatically deployed to AWS. GitHub Actions sees the ‘push’ event of a new branch, and runs our Deploy.yml workflow. After a few minutes, the branch will be fully deployed. This 1:1 relationship between git branches and deployed stages is the reason why ‘stage’ and ‘branch’ are sometimes used interchangeably to refer to a deployed set of the application.

Prerequisites:

  • Git repo write access; complete the Git access request portion of onboarding

Procedure

  • Obtain and set AWS CLI credentials
  • Create a new branch based off of any other branch or commit. The ‘main’ branch is the most common branch from which to create new branches, and is shown in the following procedure.:
      cd macpro-mako
      git checkout main
      git pull
      git checkout -b foo
      git push --set-upstream origin foo
    
  • Monitor the status of your branch’s deployment in the repo’s Actions area.

Notes

  • None