Writing code, containerizing it, and provisioning infrastructure to run it still leaves one question: how does a change actually get from a developer's laptop into production, safely and repeatably? This module covers CI/CD: the fundamentals of continuous integration and continuous delivery, and how a pipeline's stages and triggers automate that journey end to end.
It also covers popular tools like Jenkins, GitHub Actions, and GitLab CI, running automated tests as part of a pipeline, managing build artifacts and caching, deployment strategies like blue-green and canary releases, defining pipeline as code, and keeping secrets secure throughout the process.
Watch the lessons in order, then continue on to GitOps & Artifacts.
Why merging and testing code frequently beats big, infrequent integrations, and the difference between continuous delivery and continuous deployment.
Structuring a pipeline into build, test, and deploy stages, and the events — a push, a merge, a schedule — that kick it off.
A tour of the most widely used CI/CD platforms, what makes each one distinct, and how to choose between them.
Running unit, integration, and end-to-end tests automatically, and using test results to gate whether a change moves forward.
Producing and storing build outputs for later stages, and caching dependencies to keep pipelines fast as a project grows.
Rolling, blue-green, and canary deployments compared, and how each one limits the blast radius of a bad release.
Defining a pipeline's stages in a versioned config file alongside the codebase, instead of clicking through a CI tool's UI.
Keeping API keys and credentials out of pipeline logs and source code, and locking down who can trigger or modify a pipeline.