Skip to content

Tutorial to understand the basics of Github Actions and get familiar with the CI/CD concepts around it (πŸ’»πŸ’» advanced and πŸ’»πŸ’»πŸ’» graduate levels)

Notifications You must be signed in to change notification settings

TechFems-projects-and-resources/github-actions-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Automate your deployment process with Github Actions

Welcome! This tutorial will guide you through the process of setting up a deployment pipeline with Github Actions from scratch, and help you grasp continuous integration and continuous delivery concepts (CI/CD) in practice.

Each lab introduces a new CI/CD concept and adds a new step to the pipeline. The initial labs will help you understand the tools and how to create a pipeline using Github Actions. By completing all the labs, you'll have a fully functional pipeline and a strong foundation in applying CI/CD principles to your projects.

Β  Β 

Who is it for?

This tutorial is designed for programming students and junior developers or beginners in CI/CD, who want to learn by doing and understand continuous delivery concepts and pipeline automation through hands-on practice.

You don't need to have any previous experience in CI/CD but basic knowledge of Github commands is recommended.

Β  Β 

About the application

This application is a React-Application bootstrapped with Create React App and tested with React Testing Library.

This is how the application -that we will deploy on a production environment (Firebase)- looks like:

image

Useful commands to build and run the application:

Description Command
Installs all the dependencies listed in package.json npm install
Builds the app for production to the build folder npm run build
Starts the app by deploying it locally in dev mode npm start
Runs the tests for the application npm test

Β  Β 

Getting Started πŸš€

  1. Anything you need for this workshop is contained within this repository - so the first thing you need to do is get a copy of it! If you are new to Github, you can learn how to fork it and clone it here
  2. Make sure you start by the Prerequisites section to make sure that you have everything we need installed
  3. Run and build the React application following the instructions to setup your application locally (lab 1)
  4. Understand the basic use of GitHub Actions by creating your first pipeline (lab 2)
  5. Continue by creating a set of GitHub Actions workflows in order to test (lab3), release (lab 4) and deploy (lab 5) the application with Firebase!

Labs:

These are the steps you can follow to complete this workshop (order is important):

image

Β  Β 

Useful Theory

image

Β  Β 

What is a pipeline?
A pipeline is a broad term referring to the entire automated process of software development, from version control to production.

What is continous integration?
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day.

What is continous delivery?
Continuous delivery is a software development practice where code changes are automatically prepared for a release to production and other environments, after passing automated tests and quality checks.

What are the differences between continuous integration vs. delivery vs. deployment?

What is continuous testing?
Continuous testing is the strategy of consistently running tests, both manual and automated ones, throughout the entire delivery process. The objective is to detect issues early, ensuring problems are identified as soon as possible.

What is Github Actions?
GitHub Actions brings automation directly into the software development lifecycle on GitHub via event-driven triggers. These triggers are specified events that can range from creating a pull request to building a new branch in a repository.

Github Actions Docs

Β  Β 

Additional resources

About

Tutorial to understand the basics of Github Actions and get familiar with the CI/CD concepts around it (πŸ’»πŸ’» advanced and πŸ’»πŸ’»πŸ’» graduate levels)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •