Mainframe Path Start learning free
Beginner6 min readLesson 1 of 5

CI/CD in plain words

Continuous integration means every change is merged often and automatically built and tested, so problems show up within minutes. Continuous delivery keeps every passing build ready to release, with a person deciding when it goes to production. Continuous deployment goes one step further and releases every passing change automatically.

The problem CI/CD solves

In the old way, developers worked apart for weeks, then merged everything, found it did not fit, and fixed it in a rush. Releases were manual, rare and stressful. A pipeline replaces the manual steps with automation that runs the same way every time: fetch the code, build it, test it, package it and deploy it.

Three terms, three different promises

TermWhat happens automaticallyWho decides about production
Continuous integration (CI)Every push is merged often, built and testedNot part of CI
Continuous delivery (CD)CI, plus packaging and deploying to test environments, so any passing build could be releasedA person approves the release
Continuous deployment (also CD)Everything, all the way to production, when the checks passNobody: the pipeline does

Most enterprise and mainframe teams practise continuous integration and continuous delivery. Production releases still need an approval, and often a change record, but everything up to that point is automated.

A typical pipeline, left to right
Commit and pushA developer pushes a branch or merges a pull request
BuildCompile and link: Java to a JAR, COBOL to load modules
TestUnit tests, code scans and other checks. Stop here if anything fails
PackagePut the outputs into one versioned artifact and store it
DeployInstall that same package in test, then, with approval, in production

Why it is worth the effort

TRY IT YOURSELF

Which practice builds and tests every change automatically as soon as it is pushed? Give the two-letter abbreviation.

Show a hint

Continuous ...

Show the solution

CI, continuous integration.

Common mistakes

Using continuous delivery and continuous deployment as if they meant the same

Delivery keeps every build releasable with a person approving production. Deployment releases automatically. Teams mean very different things by them.

Automating the build but not the tests

A pipeline that compiles but never tests only tells you the code compiles. The tests are what give you confidence.

Merging once a month

CI only works if people integrate often. Long-lived branches bring back the big, painful merges CI is meant to remove.

What you will see at work

Key terms

Check your understanding.
Take this lesson's quiz and save your progress. Free.

Take the lesson quiz
Jenkins: controller, agents, jobs and plugins →