Intro to Continuous Integration

This lesson preview is part of the Bundling and Automation in Monorepos course and can be unlocked immediately with a \newline Pro subscription or a single-time purchase. Already have access to this course? Log in here.

This video is available to students only
Unlock This Course

Get unlimited access to Bundling and Automation in Monorepos, plus 90+ \newline books, guides and courses with the \newline Pro subscription.

Thumbnail for the \newline course Bundling and Automation in Monorepos
  • [00:00 - 00:10] Welcome to module five Continuous Integration and Continuous Delivery. Very quickly CI is about automated checks performed on every change.

    [00:11 - 00:30] We want to prove that the repository builds, that all types check, the tests pass. Continuous Delivery is the path from a known good artifact to a running release in a specific environment. In this module, we will not focus on Continuous Delivery.

    [00:31 - 00:38] We will only focus on Continuous Integration. The reason is that Continuous Integration is mostly universal.

    [00:39 - 01:00] The way you would set up one project doesn't differ much from the way you would set up another. While Continuous Delivery is very platform and organization specific. Our focus is not going to be on Continuous Delivery just because it depends on are we deploying serverless? Are deploying to a mobile store, what provider you're using, what your organization constraints are?

    [01:01 - 01:15] There's just too much that depends on context, that we cannot define one single true path to Continuous Delivery. And if we try to, it would either be a toy or it might not fit your organization.

    [01:16 - 01:29] By contrast, Continuous Integration is almost identical across stacks. We'll be using GitHub Actions in our examples, but you would find the exact same primitives in any CI system.

    [01:30 - 01:57] So we'll only briefly cover CD in the context of building images for a Monorepo project. And the other focus of this module is going to be on building a robust CI pipeline for Monorepos. We won't teach anything that's specific to a given cloud provider, or go into the details of Bluegreen, Canary, or rollback deployments because that would be a course on its own.

    [01:59 - 02:10] This module assumes some familiarity with GitHub Actions and understanding of Docker, at least on a basic level. With that out of the way, let's dive in.