liveBook · Manning

Deployment pipeline

As explained in Think Like a CTO

An automated sequence of software integration, compilation, testing, packaging, and deployment steps.

A deployment pipeline automates the route from a code change to deployed software. Once reviewed code is merged, it can be compiled, tested, and deployed, with failures flagged for resolution. This helps teams build consistently without relying on one person or machine. section 9.5

Consider both reliable delivery and the security of the process:

  • Automate builds and deployments so release capability does not depend on a particular person being available. section 9.5
  • Protect the build environment, restrict version-control access, and lock third-party library versions until upgrades are validated. section 12.7.2
  • Watch for unexplained changes in deployment size, which may indicate unexpected code or dependencies. section 12.7.2

When a build depends on one machine

A company’s build failed after its only build machine received updated .NET libraries, preventing updates to its core product. A virtualized environment offered a short-term way to make builds more accessible and predictable. The longer-term goal is to build and deploy without depending on one person or machine. section 9.5

A compromised build process

The SolarWinds attack illustrates how malicious code introduced into shared software can reach many organizations through normal updates. Separate build environments, locked dependency versions, and attention to unexpected file-size changes are among the proposed protections. section 12.7.2

Figure 9.2 Typical CI/CD pipeline

Use the pipeline diagram to follow the typical CI/CD flow. section 9.5

How Think Like a CTO covers it

How deep it goes
Explains the merge-triggered build, test, and deployment flow, then gives security safeguards without implementation-level detail.
Examples
Uses a .NET build failure caused by machine updates and the SolarWinds attack to illustrate reliability and security risks.
What you can do after
Operate/configure pipelines by automating builds and deployments, separating build environments, locking dependency versions, and monitoring unexpected changes.
How it connects
Links deployment pipelines to continuous integration, continuous deployment, pull requests, version control, and third-party libraries.

Also explained in

Compare how 30 books explain deployment pipeline →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Think Like a CTO. The section links point to the parts of the book it draws on.