GitHub Actions: Continuous Delivery with AWS

Create two deployment workflows using AWS.

Start free course Join 1188 others!

social preview

This course is about continuous delivery, or CD, with GitHub Actions. CD is a crucial part of modern software development, and it can have a monumental impact on development projects.

Continuous Delivery is the practice of delivering software faster and with higher quality. Doing so successfully requires many different practices, behaviors, and technologies. GitHub Actions makes implementing CD easier, faster, and more reliable.

In this course, we focus on using workflows in GitHub Actions to deploy pull requests automatically to a staging environment, and to deploy all merged commits to production.

Please note: You may need a credit card to create an account with a cloud provider. If you're a student, you may also be able to take advantage of the Student Developer Pack for access to a cloud provider. If you'd like to continue with the course without an account with a cloud provider, Learning Lab will still respond, but none of the deployments will work.

What you'll learn

We'll answer common questions like:

  • What is Continuous Delivery?
  • What is a workflow file and how are workflows used with GitHub Actions?
  • What are deployment triggers and how are they used with deployments?
  • How can secrets store tokens?

And when you're done you'll be able to:

  • Use GitHub Actions and create workflow files
  • Use secrets to store tokens
  • Deploy to staging and production using GitHub Actions to implement CD

What you'll build

In this course, we'll be walking through a CD deployment using GitHub Actions, and creating a Tic Tac Toe game!

deployed app

Prerequisites

Before you start, you should be familiar with GitHub and Continuous Integration. We recommend taking the following three Learning Labs prior to this course:

Projects used

This course makes use of the following technologies:

Audience

Developers, DevOps Engineers, students, teams

Steps to complete this course 11
  1. Configure a trigger based on labels

    Configure the workflow trigger based on an a label being added

  2. Trigger a job on specific labels

    Use a conditional to trigger a job on a specific label

  3. Deploy a Node.js app to AWS for the first time

    Use the GitHub-created action to deploy to AWS

  4. Merge the staging workflow

    Merge this staging workflow pull request

  5. Create an S3 bucket

    Create an S3 bucket in AWS and tell the action where to find it

  6. Approve pull request

    Approve pull request adding the aws-config.yml and sam-template.yml

  7. Test the staging action

    Test the new action to deploy labeled pull requests to staging

  8. Write the production deployment trigger

    Write the production deployment trigger in the new workflow

  9. Complete the deployment to production workflow

    Commit the steps to the production workflow that allow you to deploy on merge to master.

  10. Create the Docker image and push it to GitHub Packages

    Add a step to the workflow for building and pushing a Docker image to GitHub Packages.

  11. Merge the production workflow

    Merge this pull request and test the production deployment workflow

Tags
GitHub Actions
Workflows
CD
Amazon Web Services (AWS)
Deployment
Share this course
Average time to complete

90 minutes

Free

All public courses on Learning Lab are free.

Latest release

Learning Paths that include this course

Users who took this course also took

What is GitHub Learning Lab?

Learn new skills by completing fun, realistic projects in your very own GitHub repository.