/continuous-delivery-playground

A tutorial for people that want to learn continuous delivery concepts by practicing

Primary LanguageTypeScript

Continuous delivery playground

CD Pipeline

This tutorial walks you through setting up a continuous delivery pipeline from scratch. This guide is for people that want to learn continuous delivery concepts by practicing.

Continuous delivery playground is optimized for learning, which means taking the long route to ensure you understand each of the concepts behind a modern continuous delivery pipeline.

Complete pipeline

Target Audience

The target audience is someone new to CI/CD trying to get hands-on experience implementing a modern continuous delivery pipeline. We have also used this tutorial to facilitate remote workshops with bootcamps that want to introduce CI/CD concepts to their students.

These are the bootcamps we collaborated with so far:

The labs

Following a series of labs, we will build a continuous deployment pipeline where every step is automated. Each lab introduces a new CI/CD concept and implements a new step of the pipeline. The first few labs are focused on understanding the tools and how to create pipelines in Github Actions. If you complete all the labs, you will have a working pipeline and a good foundation on how to apply CI/CD principles and practices to your projects.

The results of this tutorial should not be viewed as production ready, but don't let that stop you from learning!

Step by step

The tools

By the end of each of the labs you will learn one continuous delivery concept and implement it in a working CD pipeline using Github Actions. While Github Actions is used for implementing a CD pipeline, the lessons learned in this tutorial can be applied to other platforms.

The stack:

Getting started

  1. Fork this repository. If you are new to Github, you can learn how to fork here.
  2. Make sure you review the pre-requisites section to see if you have everything we need installed.
  3. If you are new to NPM and Node.js, start by lab 1, otherwise you can start directly in lab 2.

Labs