Vocabulary for CI/CD Pipelines: Build, Test and Deploy Terms Explained
Master the English vocabulary of CI/CD pipelines — stages, jobs, artifacts, flaky tests, rollbacks and deployment strategies — with example sentences for daily standups.
CI/CD pipelines are where a lot of your daily English happens: “the build’s red,” “it’s stuck in the deploy stage,” “that test is flaky again.” The vocabulary is specific, and using the wrong word makes you sound less fluent than you are. This guide covers the build, test, and deploy vocabulary you need, with example sentences for standups and PRs.
The big two: CI and CD
- CI — Continuous Integration — automatically building and testing every change. “CI runs on every push.”
- CD — Continuous Delivery / Deployment — automatically getting changes to staging or production. “CD deploys to staging on merge.”
Note the difference: Continuous Delivery means ready to deploy at the click of a button; Continuous Deployment means deployed automatically with no manual step. People say “CD” for both — clarify if it matters.
Pipeline structure
- pipeline — the whole automated sequence. “The pipeline takes twelve minutes.”
- stage — a phase (build, test, deploy). “It’s stuck in the deploy stage.”
- job — a unit of work within a stage. “The lint job failed.”
- step — a single command in a job.
- runner / agent — the machine that executes jobs. “No runners are free.”
- workflow — the configured pipeline (GitHub Actions term). “I edited the workflow file.”
- to trigger — to start a pipeline. “The push triggered a build.”
- trigger / on push / on merge — what starts it. “This workflow triggers on PRs.”
“The pipeline has three stages — build, test, deploy — and the test stage runs four jobs in parallel.”
Build vocabulary
- build — compiling/packaging the code. “The build’s green.”
- to compile / to package — “It compiles but the package step fails.”
- artifact — the output of a build (a binary, image, or bundle). “The build artifact is a Docker image.”
- cache — stored data to speed up builds. “The dependency cache is stale.”
- to fail fast — stop at the first error. “Configure it to fail fast.”
- green / red — passing / failing. “Main is red again.”
- broken build — a build that fails. “Who broke the build?”
- to bisect — narrow down which commit broke something. “I bisected it to last night’s merge.”
Test vocabulary
- test suite — the full set of tests. “The suite takes eight minutes.”
- unit / integration / end-to-end (E2E) tests — increasing scope. “E2E is the slow part.”
- flaky test — passes and fails non-deterministically. “That test is flaky — re-run it.”
- to flake — “It flaked again on CI but passes locally.”
- coverage — how much code the tests exercise. “Coverage dropped below 80%.”
- to skip / to quarantine — temporarily disable a test. “I quarantined the flaky one.”
- regression test — guards against a bug coming back.
- smoke test — a quick check that the basics work. “Smoke tests pass.”
- to re-run / to retry — “Re-run the job; it’s probably a flake.”
“The unit tests pass, but two E2E tests are flaky and keep going red on CI even though they’re green locally.”
The word flaky (and the verb to flake) is one of the most used terms in CI — learn it cold.
Deploy vocabulary
- to deploy / to ship / to release / to roll out — push to an environment. “We’re shipping at 3pm.”
- environment — staging, prod, QA. “It’s live in staging.”
- to promote — move a build from one environment to the next. “Promote it to prod.”
- rollout — the act of deploying. “The rollout is at 50%.”
- to roll back / revert — undo a deploy. “Roll back to the last good version.”
- canary — release to a small subset first. “It’s in canary, looking healthy.”
- blue-green — two identical environments, switch traffic between them.
- feature flag / toggle — turn features on/off without deploying. “It’s behind a flag.”
- smoke test on deploy — post-deploy sanity check.
Deployment strategies in one line each:
- Canary — “Send 5% of traffic to the new version and watch.”
- Blue-green — “Deploy to the idle environment, then flip the switch.”
- Rolling — “Replace instances a few at a time.”
When things go wrong
- broken pipeline — “The pipeline’s broken for everyone.”
- stuck / hung — not progressing. “The deploy job’s hung.”
- timeout — exceeded the time limit. “The job timed out.”
- flaky infra — the runners themselves are unreliable.
- to unblock — clear what’s stopping the pipeline. “I restarted the runner to unblock it.”
- to gate — block progress until a condition is met. “Merges are gated on green CI.”
“Main’s red, but it’s not the code — a runner died and the deploy job timed out. I re-ran it and it’s green now.”
Standup and PR phrases
- “CI’s green; this is ready to merge.”
- “The build’s red on a flaky test — re-running.”
- “It’s deployed to staging; I’ll promote to prod after smoke tests.”
- “Rollout’s paused at 25% — error rate ticked up.”
- “I rolled it back; we’ll re-deploy once the fix lands.”
- “This is gated behind a feature flag, so it’s safe to merge.”
Common mistakes
- “The test is broken” vs “flaky”. Broken = consistently failing (real bug). Flaky = sometimes failing (unreliable test).
- Confusing deploy and release. Deploy = code is out; release = users can use it (a flag may still hide it).
- “Rollback” as one word vs “roll back” the verb. The noun is rollback; the verb is to roll back.
- Using “build” for the whole pipeline. The build is one stage; the pipeline is the whole thing.
- “Promote” vs “deploy”. Promote moves an existing build forward; deploy runs the deployment.
Key takeaways
- Know the structure: pipeline → stages → jobs → steps, run by runners.
- Build terms: artifact, cache, green/red, fail fast, bisect.
- Test terms: suite, flaky, coverage, quarantine, smoke test.
- Deploy terms: promote, roll back, canary, blue-green, feature flag.
- Distinguish flaky vs broken and deploy vs release — they cause the most confusion.
Master this vocabulary and every standup update about your pipeline will be crisp, accurate, and instantly understood.
Understanding Nuance: Avoiding Misinterpretations in CI/CD Communication
For developers whose first language isn’t English, navigating the terminology surrounding Continuous Integration and Continuous Delivery (CI/CD) can be particularly challenging. It’s not just about knowing what something is; it’s about understanding the subtle connotations and accepted phrasing used within a technical team. A seemingly straightforward request like “fix this flaky test” can actually carry several layers of meaning, and misinterpreting those nuances can lead to wasted time and frustration.
One common area of confusion stems from the use of adjectives describing tests. Saying “this test is flaky” isn’t simply stating that it fails intermittently. It implies a problem with the test itself – potentially an issue with its setup, dependencies, or the environment in which it runs. A native English speaker would immediately consider why it’s flaky: Is it sensitive to minor changes? Does it require specific data sets? A non-native speaker might focus solely on the fact that it’s failing and address only the immediate failure without investigating the root cause. Similarly, describing a test as “stubbed” – meaning replaced with a mock implementation – requires understanding the concept of isolating components for testing purposes, something that can be difficult to grasp from a literal translation of terms. During a code review, a comment like “This integration test is failing due to an unexpected dependency” sounds perfectly normal, but a developer unfamiliar with the terminology might assume it’s simply a bug in the code itself and start debugging without considering the test’s purpose or potential issues.
Furthermore, phrasing around deployment strategies requires careful attention. Saying you want to “blue/green deploy” isn’t just about using different environments; it implies a specific rollback strategy – if something goes wrong with the new environment, you can quickly switch back to the original one. A less precise statement like “deploy this feature” could be interpreted as simply pushing code to production without considering the impact or testing procedures. Clear and detailed communication is absolutely vital when discussing these concepts; asking clarifying questions is always encouraged – phrases like “Could you elaborate on what you mean by ‘flaky’ in this context?” are perfectly acceptable, even if they feel slightly awkward at first.
# Example: Using `kubectl` to rollback a deployment
kubectl rollout undo -f deployment.yaml
This command demonstrates the practical application of understanding deployment terminology – in this case, initiating a rollback to revert changes made to a Kubernetes deployment. The key takeaway is that precise language and proactive clarification are essential for effective collaboration within a CI/CD environment. Don’t hesitate to ask questions or seek further explanation; it’s far better to be clear than to risk misunderstanding that could impact the entire pipeline.